-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.hdhomerun
93 lines (74 loc) · 2.78 KB
/
Makefile.hdhomerun
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#
# HDhomerun library build
# Copyright (C) 2014 Jaroslav Kysela
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
DIR := $(dir $(lastword $(MAKEFILE_LIST)))
include $(DIR)/.config.mk
unexport CFLAGS
unexport LDFLAGS
ifeq ($(CONFIG_PIE),yes)
CFLAGS += -fPIE
else
CFLAGS += -fPIC
endif
# ###########################################################################
# Upstream Packages
# ###########################################################################
LIBHDHR = libhdhomerun_20200521
LIBHDHR_TB = $(LIBHDHR).tgz
LIBHDHR_URL = https://download.silicondust.com/hdhomerun/$(LIBHDHR_TB)
LIBHDHR_SHA1 = 8524464d4a005dbe7265dc544c025d63a18b32bd
# ###########################################################################
# Library Config
# ###########################################################################
LIB_NAME := hdhomerun
LIB_ROOT := $(BUILDDIR)/$(LIB_NAME)
LIB_FILES := \
$(LIB_ROOT)/$(LIBHDHR)/.tvh_download \
$(LIB_ROOT)/$(LIBHDHR)/.tvh_build \
$(LIB_ROOT)/libhdhomerun/libhdhomerun.a \
$(LIB_ROOT)/libhdhomerun/*.h
LIB_DIFFS := hdhomerun.diff
include $(DIR)/Makefile.static
.PHONY: build
build: $(LIB_ROOT)/$(LIBHDHR)/.tvh_build
$(call LIBCACHEGET_TIMESTAMP)
# ###########################################################################
# Build Rules
# ###########################################################################
export PATH := $(LIB_ROOT)/build/bin:$(PATH)
#
# libhdhomerun
#
-include $(LIB_ROOT)/$(LIBHDHR)/Makefile
OBJS := $(foreach file,$(LIBSRCS),$(LIB_ROOT)/$(LIBHDHR)/$(basename $(file)).o)
$(LIB_ROOT)/$(LIBHDHR)/%.o: $(LIB_ROOT)/$(LIBHDHR)/%.c
$(CC) -MD -MP $(CFLAGS) -fPIE -c -o $@ $<
$(LIB_ROOT)/$(LIBHDHR)/libhdhomerun.a: $(OBJS)
$(AR) rcs $@ $^
$(LIB_ROOT)/$(LIBHDHR)/.tvh_download:
$(call DOWNLOAD,$(LIBHDHR_URL),$(LIB_ROOT)/$(LIBHDHR_TB),$(LIBHDHR_SHA1))
$(call UNTAR,$(LIBHDHR_TB),z)
ln -sf libhdhomerun $(LIB_ROOT)/$(LIBHDHR)
$(call PATCH,$(LIBHDHR),$(LIB_DIFFS))
@touch $@
$(LIB_ROOT)/$(LIBHDHR)/.tvh_build: \
$(LIB_ROOT)/$(LIBHDHR)/.tvh_download
$(MAKE) -f Makefile.hdhomerun $(LIB_ROOT)/$(LIBHDHR)/libhdhomerun.a
@touch $@
.PHONY: static_libhdhr_clean
static_libhdhr_clean:
@rm -rf $(LIB_ROOT)