From: Adam Sutton Date: Thu, 14 Jan 2016 16:32:21 +0000 (+0000) Subject: build: updated the Makefiles to make use of new static lib helpers X-Git-Tag: v4.2.1~1162^2~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=afff7088a3905f3363a49f9d1e6c549ddf1708dc;p=thirdparty%2Ftvheadend.git build: updated the Makefiles to make use of new static lib helpers --- diff --git a/Makefile b/Makefile index 36596545a..1ebe2bb64 100644 --- a/Makefile +++ b/Makefile @@ -61,8 +61,8 @@ endif ifeq ($(CONFIG_LIBFFMPEG_STATIC),yes) -CFLAGS += -I${ROOTDIR}/libav_static/build/ffmpeg/include -LDFLAGS_FFDIR = ${ROOTDIR}/libav_static/build/ffmpeg/lib +CFLAGS += -I${BUILDDIR}/ffmpeg/build/ffmpeg/include +LDFLAGS_FFDIR = ${BUILDDIR}/ffmpeg/build/ffmpeg/lib LDFLAGS += ${LDFLAGS_FFDIR}/libavresample.a LDFLAGS += ${LDFLAGS_FFDIR}/libswresample.a LDFLAGS += ${LDFLAGS_FFDIR}/libavfilter.a @@ -112,9 +112,9 @@ endif endif # CONFIG_LIBFFMPEG_STATIC ifeq ($(CONFIG_HDHOMERUN_STATIC),yes) -CFLAGS += -I${ROOTDIR}/libhdhomerun_static -LDFLAGS += -L${ROOTDIR}/libhdhomerun_static/libhdhomerun \ - -Wl,-Bstatic -lhdhomerun -Wl,-Bdynamic +CFLAGS += -I$(BUILDDIR)/hdhomerun +LDFLAGS += $(BUILDDIR)/hdhomerun/libhdhomerun/libhdhomerun.a \ + -Wl,-Bstatic -Wl,-Bdynamic endif vpath %.c $(ROOTDIR) @@ -587,8 +587,6 @@ clean: # Distclean .PHONY: distclean distclean: clean - rm -rf ${ROOTDIR}/libav_static - rm -rf ${ROOTDIR}/libhdhomerun_static rm -rf ${ROOTDIR}/build.* rm -rf ${ROOTDIR}/data/dvb-scan rm -f ${ROOTDIR}/.config.mk @@ -684,11 +682,11 @@ ifeq ($(CONFIG_LIBFFMPEG_STATIC),yes) src/libav.h ${SRCS-LIBAV} ${DEPS-LIBAV}: ${BUILDDIR}/libffmpeg_stamp endif -${BUILDDIR}/libffmpeg_stamp: ${ROOTDIR}/libav_static/build/ffmpeg/lib/libavcodec.a +${BUILDDIR}/libffmpeg_stamp: ${BUILDDIR}/ffmpeg/build/ffmpeg/lib/libavcodec.a @touch $@ -${ROOTDIR}/libav_static/build/ffmpeg/lib/libavcodec.a: Makefile.ffmpeg - $(MAKE) -f Makefile.ffmpeg build +${BUILDDIR}/ffmpeg/build/ffmpeg/lib/libavcodec.a: Makefile.ffmpeg + $(MAKE) -f Makefile.ffmpeg # Static HDHOMERUN library @@ -696,11 +694,11 @@ ifeq ($(CONFIG_LIBHDHOMERUN_STATIC),yes) src/input/mpegts/tvhdhomerun/tvhdhomerun_private.h ${SRCS-HDHOMERUN}: ${BUILDDIR}/libhdhomerun_stamp endif -${BUILDDIR}/libhdhomerun_stamp: ${ROOTDIR}/libhdhomerun_static/libhdhomerun/libhdhomerun.a +${BUILDDIR}/libhdhomerun_stamp: ${BUILDDIR}/hdhomerun/libhdhomerun/libhdhomerun.a @touch $@ -${ROOTDIR}/libhdhomerun_static/libhdhomerun/libhdhomerun.a: Makefile.hdhomerun - $(MAKE) -f Makefile.hdhomerun build +${BUILDDIR}/hdhomerun/libhdhomerun/libhdhomerun.a: Makefile.hdhomerun + $(MAKE) -f Makefile.hdhomerun # linuxdvb git tree $(ROOTDIR)/data/dvb-scan/.stamp: diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg index bfcea2c1f..43d8dccf6 100644 --- a/Makefile.ffmpeg +++ b/Makefile.ffmpeg @@ -16,45 +16,15 @@ # along with this program. If not, see . # -include $(dir $(lastword $(MAKEFILE_LIST))).config.mk +DIR := $(dir $(lastword $(MAKEFILE_LIST))) +include $(DIR)/.config.mk unexport CFLAGS unexport LDFLAGS -define DOWNLOAD - @mkdir -p $(LIBAVDIR)/build - @if test -z "$${TVHEADEND_FILE_CACHE}"; then \ - printf "WGET $(1)\n"; \ - wget --no-verbose -O $(2) $(1); \ - else \ - file=$$(basename $(2)); \ - cp "$$TVHEADEND_FILE_CACHE/$$(file)" $(2); \ - fi - @{ \ - sum=$$(sha1sum $(2) | cut -d ' ' -f 1); \ - printf "SHA1SUM test '$${sum}' == '$(3)': "; \ - test "y$${sum}" = "y$(3)"; \ - } - @echo "OK" -endef - -define UNTAR - @{ \ - printf "UNTAR $(1)\n"; \ - tar x -C $(LIBAVDIR) -$(2)f $(LIBAVDIR)/$(1); \ - } -endef - -LIBAVDIR = $(ROOTDIR)/libav_static - -export PATH := $(LIBAVDIR)/build/ffmpeg/bin:$(PATH) - -ECFLAGS = -I$(LIBAVDIR)/build/ffmpeg/include -ELIBS = -L$(LIBAVDIR)/build/ffmpeg/lib -ldl - -EXTRAENV = -CONFIGURE = TVHEADEND_LIBAV_BUILD=$(LIBAVDIR)/build/ffmpeg \ - PKG_CONFIG=$(ROOTDIR)/support/pkg-config.ffmpeg ./configure +# ########################################################################### +# Upstream Packages +# ########################################################################### FFMPEG = ffmpeg-2.8.2 FFMPEG_TB = $(FFMPEG).tar.bz2 @@ -106,24 +76,65 @@ LIBMFX_TB = $(LIBMFX_HASH).tar.gz LIBMFX_URL = https://github.com/lu-zero/mfx_dispatch/archive/$(LIBMFX_TB) LIBMFX_SHA1 = e7905a4e18f8d3933f23ed5cf5a96a40a31c76a8 - -.PHONY: build -build: $(LIBAVDIR)/$(FFMPEG)/.tvh_build +# ########################################################################### +# Library Config +# ########################################################################### + +LIB_NAME := ffmpeg +LIB_ROOT := $(BUILDDIR)/$(LIB_NAME) +LIB_FILES :=\ + $(LIB_ROOT)/$(FFMPEG)/.tvh_download \ + $(LIB_ROOT)/$(FFMPEG)/.tvh_build \ + $(LIB_ROOT)/$(LIBOGG)/.tvh_download \ + $(LIB_ROOT)/$(LIBOGG)/.tvh_build \ + $(LIB_ROOT)/$(LIBVORBIS)/.tvh_download \ + $(LIB_ROOT)/$(LIBVORBIS)/.tvh_build \ + $(LIB_ROOT)/$(LIBX264)/.tvh_download \ + $(LIB_ROOT)/$(LIBX264)/.tvh_build \ + $(LIB_ROOT)/$(LIBX265)/.tvh_download \ + $(LIB_ROOT)/$(LIBX265)/.tvh_build \ + $(LIB_ROOT)/$(LIBVPX)/.tvh_download \ + $(LIB_ROOT)/$(LIBVPX)/.tvh_build \ + $(LIB_ROOT)/$(YASM)/.tvh_download \ + $(LIB_ROOT)/$(YASM)/.tvh_build \ + $(LIB_ROOT)/$(LIBMFX)/.tvh_download \ + $(LIB_ROOT)/$(LIBMFX)/.tvh_build \ + $(LIB_ROOT)/build/ffmpeg/lib/*.a \ + $(LIB_ROOT)/build/ffmpeg/include/* + +include $(DIR)/Makefile.static + +.PHONY: build $(PHONY) +build: $(LIB_ROOT)/$(FFMPEG)/.tvh_build + +# ########################################################################### +# Build Rules +# ########################################################################### + +export PATH := $(LIB_ROOT)/build/ffmpeg/bin:$(PATH) + +ECFLAGS = -I$(LIB_ROOT)/build/ffmpeg/include +ELIBS = -L$(LIB_ROOT)/build/ffmpeg/lib -ldl + +EXTRAENV = +CONFIGURE = TVHEADEND_LIBAV_BUILD=$(LIB_ROOT)/build/ffmpeg \ + PKG_CONFIG=$(ROOTDIR)/support/pkg-config.ffmpeg ./configure # # YASM # -$(LIBAVDIR)/$(YASM)/.tvh_download: - $(call DOWNLOAD,$(YASM_URL),$(LIBAVDIR)/$(YASM_TB),$(YASM_SHA1)) + +$(LIB_ROOT)/$(YASM)/.tvh_download: + $(call DOWNLOAD,$(YASM_URL),$(LIB_ROOT)/$(YASM_TB),$(YASM_SHA1)) $(call UNTAR,$(YASM_TB),z) @touch $@ -$(LIBAVDIR)/$(YASM)/.tvh_build: \ - $(LIBAVDIR)/$(YASM)/.tvh_download - cd $(LIBAVDIR)/$(YASM) && $(CONFIGURE) \ +$(LIB_ROOT)/$(YASM)/.tvh_build: \ + $(LIB_ROOT)/$(YASM)/.tvh_download + cd $(LIB_ROOT)/$(YASM) && $(CONFIGURE) \ --prefix=/ffmpeg - DESTDIR=$(LIBAVDIR)/build \ - $(MAKE) -C $(LIBAVDIR)/$(YASM) install + DESTDIR=$(LIB_ROOT)/build \ + $(MAKE) -C $(LIB_ROOT)/$(YASM) install @touch $@ # @@ -173,20 +184,20 @@ endif ifeq (yes,$(CONFIG_LIBMFX_STATIC)) -$(LIBAVDIR)/$(LIBMFX)/.tvh_download: - $(call DOWNLOAD,$(LIBMFX_URL),$(LIBAVDIR)/$(LIBMFX_TB),$(LIBMFX_SHA1)) +$(LIB_ROOT)/$(LIBMFX)/.tvh_download: + $(call DOWNLOAD,$(LIBMFX_URL),$(LIB_ROOT)/$(LIBMFX_TB),$(LIBMFX_SHA1)) $(call UNTAR,$(LIBMFX_TB),z) @touch $@ -$(LIBAVDIR)/$(LIBMFX)/.tvh_build: \ - $(LIBAVDIR)/$(LIBMFX)/.tvh_download - cd $(LIBAVDIR)/$(LIBMFX) && autoreconf -i - cd $(LIBAVDIR)/$(LIBMFX) && ./configure \ +$(LIB_ROOT)/$(LIBMFX)/.tvh_build: \ + $(LIB_ROOT)/$(LIBMFX)/.tvh_download + cd $(LIB_ROOT)/$(LIBMFX) && autoreconf -i + cd $(LIB_ROOT)/$(LIBMFX) && ./configure \ --prefix=/ffmpeg \ --enable-static \ --disable-shared - DESTDIR=$(LIBAVDIR)/build \ - $(MAKE) -C $(LIBAVDIR)/$(LIBMFX) install + DESTDIR=$(LIB_ROOT)/build \ + $(MAKE) -C $(LIB_ROOT)/$(LIBMFX) install @touch $@ else @@ -196,12 +207,12 @@ LIBMFX_LIBS = $(shell $(PKG_CONFIG) --libs libmfx) EXTRAENV += TVHEADEND_LIBMFX_CFLAGS="$(LIBMFX_CFLAGS)" TVHEADEND_LIBMFX_LIBS="$(LIBMFX_LIBS)" -$(LIBAVDIR)/$(LIBMFX)/.tvh_download: - @mkdir -p $(LIBAVDIR)/$(LIBMFX) +$(LIB_ROOT)/$(LIBMFX)/.tvh_download: + @mkdir -p $(LIB_ROOT)/$(LIBMFX) @touch $@ -$(LIBAVDIR)/$(LIBMFX)/.tvh_build: \ - $(LIBAVDIR)/$(LIBMFX)/.tvh_download +$(LIB_ROOT)/$(LIBMFX)/.tvh_build: \ + $(LIB_ROOT)/$(LIBMFX)/.tvh_download @touch $@ endif @@ -210,39 +221,39 @@ endif # libogg & libvorbis # -$(LIBAVDIR)/$(LIBOGG)/.tvh_download: - $(call DOWNLOAD,$(LIBOGG_URL),$(LIBAVDIR)/$(LIBOGG_TB),$(LIBOGG_SHA1)) +$(LIB_ROOT)/$(LIBOGG)/.tvh_download: + $(call DOWNLOAD,$(LIBOGG_URL),$(LIB_ROOT)/$(LIBOGG_TB),$(LIBOGG_SHA1)) $(call UNTAR,$(LIBOGG_TB),z) @touch $@ -$(LIBAVDIR)/$(LIBOGG)/.tvh_build: \ - $(LIBAVDIR)/$(YASM)/.tvh_build \ - $(LIBAVDIR)/$(LIBOGG)/.tvh_download - cd $(LIBAVDIR)/$(LIBOGG) && $(CONFIGURE) \ +$(LIB_ROOT)/$(LIBOGG)/.tvh_build: \ + $(LIB_ROOT)/$(YASM)/.tvh_build \ + $(LIB_ROOT)/$(LIBOGG)/.tvh_download + cd $(LIB_ROOT)/$(LIBOGG) && $(CONFIGURE) \ --prefix=/ffmpeg \ --enable-static \ --disable-shared - DESTDIR=$(LIBAVDIR)/build \ - $(MAKE) -C $(LIBAVDIR)/$(LIBOGG) install + DESTDIR=$(LIB_ROOT)/build \ + $(MAKE) -C $(LIB_ROOT)/$(LIBOGG) install @touch $@ -$(LIBAVDIR)/$(LIBVORBIS)/.tvh_download: \ - $(LIBAVDIR)/$(LIBOGG)/.tvh_download - $(call DOWNLOAD,$(LIBVORBIS_URL),$(LIBAVDIR)/$(LIBVORBIS_TB),$(LIBVORBIS_SHA1)) +$(LIB_ROOT)/$(LIBVORBIS)/.tvh_download: \ + $(LIB_ROOT)/$(LIBOGG)/.tvh_download + $(call DOWNLOAD,$(LIBVORBIS_URL),$(LIB_ROOT)/$(LIBVORBIS_TB),$(LIBVORBIS_SHA1)) $(call UNTAR,$(LIBVORBIS_TB),z) @touch $@ -$(LIBAVDIR)/$(LIBVORBIS)/.tvh_build: \ - $(LIBAVDIR)/$(LIBVORBIS)/.tvh_download \ - $(LIBAVDIR)/$(YASM)/.tvh_build \ - $(LIBAVDIR)/$(LIBOGG)/.tvh_build - cd $(LIBAVDIR)/$(LIBVORBIS) && $(CONFIGURE) \ +$(LIB_ROOT)/$(LIBVORBIS)/.tvh_build: \ + $(LIB_ROOT)/$(LIBVORBIS)/.tvh_download \ + $(LIB_ROOT)/$(YASM)/.tvh_build \ + $(LIB_ROOT)/$(LIBOGG)/.tvh_build + cd $(LIB_ROOT)/$(LIBVORBIS) && $(CONFIGURE) \ --prefix=/ffmpeg \ --enable-static \ --disable-shared \ - --with-ogg=$(LIBAVDIR)/build/ffmpeg - DESTDIR=$(LIBAVDIR)/build \ - $(MAKE) -C $(LIBAVDIR)/$(LIBVORBIS) install + --with-ogg=$(LIB_ROOT)/build/ffmpeg + DESTDIR=$(LIB_ROOT)/build \ + $(MAKE) -C $(LIB_ROOT)/$(LIBVORBIS) install @touch $@ # @@ -251,12 +262,12 @@ $(LIBAVDIR)/$(LIBVORBIS)/.tvh_build: \ ifneq (yes,$(CONFIG_LIBX264_STATIC)) -$(LIBAVDIR)/$(LIBX264)/.tvh_download: +$(LIB_ROOT)/$(LIBX264)/.tvh_download: @echo "***** LIBX264 STATIC BUILD IS DISABLED, USING INSTALLED PACKAGE *****" - @mkdir -p $(LIBAVDIR)/$(LIBX264) + @mkdir -p $(LIB_ROOT)/$(LIBX264) @touch $@ -$(LIBAVDIR)/$(LIBX264)/.tvh_build: $(LIBAVDIR)/$(LIBX264)/.tvh_download +$(LIB_ROOT)/$(LIBX264)/.tvh_build: $(LIB_ROOT)/$(LIBX264)/.tvh_download @touch $@ else @@ -265,17 +276,17 @@ ifneq (,$(DEB_BUILD_GNU_TYPE)) LIBX264_HOST := --host=$(DEB_BUILD_GNU_TYPE) endif -$(LIBAVDIR)/$(LIBX264)/.tvh_download: - $(call DOWNLOAD,$(LIBX264_URL),$(LIBAVDIR)/$(LIBX264_TB),$(LIBX264_SHA1)) - #rm -rf $(LIBAVDIR)/x264-snapshot-* +$(LIB_ROOT)/$(LIBX264)/.tvh_download: + $(call DOWNLOAD,$(LIBX264_URL),$(LIB_ROOT)/$(LIBX264_TB),$(LIBX264_SHA1)) + #rm -rf $(LIB_ROOT)/x264-snapshot-* $(call UNTAR,$(LIBX264_TB),j) - #{ ln -sf $$(basename $(LIBAVDIR)/x264-snapshot-*) $(LIBAVDIR)/$(LIBX264); } + #{ ln -sf $$(basename $(LIB_ROOT)/x264-snapshot-*) $(LIB_ROOT)/$(LIBX264); } @touch $@ -$(LIBAVDIR)/$(LIBX264)/.tvh_build: \ - $(LIBAVDIR)/$(LIBX264)/.tvh_download \ - $(LIBAVDIR)/$(YASM)/.tvh_build - cd $(LIBAVDIR)/$(LIBX264) && $(CONFIGURE) \ +$(LIB_ROOT)/$(LIBX264)/.tvh_build: \ + $(LIB_ROOT)/$(LIBX264)/.tvh_download \ + $(LIB_ROOT)/$(YASM)/.tvh_build + cd $(LIB_ROOT)/$(LIBX264) && $(CONFIGURE) \ --prefix=/ffmpeg \ --enable-static \ --disable-shared \ @@ -286,8 +297,8 @@ $(LIBAVDIR)/$(LIBX264)/.tvh_build: \ --disable-gpac \ --disable-lsmash \ $(LIBX264_HOST) - DESTDIR=$(LIBAVDIR)/build \ - $(MAKE) -C $(LIBAVDIR)/$(LIBX264) install + DESTDIR=$(LIB_ROOT)/build \ + $(MAKE) -C $(LIB_ROOT)/$(LIBX264) install @touch $@ endif @@ -306,30 +317,30 @@ endif ifeq (yes,$(CONFIG_LIBX265_STATIC)) -$(LIBAVDIR)/$(LIBX265)/.tvh_download: - $(call DOWNLOAD,$(LIBX265_URL),$(LIBAVDIR)/$(LIBX265_TB),$(LIBX265_SHA1)) +$(LIB_ROOT)/$(LIBX265)/.tvh_download: + $(call DOWNLOAD,$(LIBX265_URL),$(LIB_ROOT)/$(LIBX265_TB),$(LIBX265_SHA1)) $(call UNTAR,$(LIBX265_TB),z) @touch $@ -$(LIBAVDIR)/$(LIBX265)/.tvh_build: \ - $(LIBAVDIR)/$(LIBX265)/.tvh_download \ - $(LIBAVDIR)/$(YASM)/.tvh_build - cd $(LIBAVDIR)/$(LIBX265)/build/linux && cmake \ +$(LIB_ROOT)/$(LIBX265)/.tvh_build: \ + $(LIB_ROOT)/$(LIBX265)/.tvh_download \ + $(LIB_ROOT)/$(YASM)/.tvh_build + cd $(LIB_ROOT)/$(LIBX265)/build/linux && cmake \ -G "Unix Makefiles" \ -DCMAKE_INSTALL_PREFIX="/ffmpeg" \ -DENABLE_SHARED:bool=off \ ../../source - DESTDIR=$(LIBAVDIR)/build \ - $(MAKE) -C $(LIBAVDIR)/$(LIBX265)/build/linux install + DESTDIR=$(LIB_ROOT)/build \ + $(MAKE) -C $(LIB_ROOT)/$(LIBX265)/build/linux install @touch $@ else -$(LIBAVDIR)/$(LIBX265)/.tvh_download: - @mkdir -p $(LIBAVDIR)/$(LIBX265) +$(LIB_ROOT)/$(LIBX265)/.tvh_download: + @mkdir -p $(LIB_ROOT)/$(LIBX265) @touch $@ -$(LIBAVDIR)/$(LIBX265)/.tvh_build: $(LIBAVDIR)/$(LIBX265)/.tvh_download +$(LIB_ROOT)/$(LIBX265)/.tvh_build: $(LIB_ROOT)/$(LIBX265)/.tvh_download @touch $@ endif @@ -338,32 +349,32 @@ endif # libvpx (VP8) # -$(LIBAVDIR)/$(LIBVPX)/.tvh_download: - @mkdir -p $(LIBAVDIR) - $(call DOWNLOAD,$(LIBVPX_URL),$(LIBAVDIR)/$(LIBVPX_TB),$(LIBVPX_SHA1)) +$(LIB_ROOT)/$(LIBVPX)/.tvh_download: + @mkdir -p $(LIB_ROOT) + $(call DOWNLOAD,$(LIBVPX_URL),$(LIB_ROOT)/$(LIBVPX_TB),$(LIBVPX_SHA1)) $(call UNTAR,$(LIBVPX_TB),j) @touch $@ -$(LIBAVDIR)/$(LIBVPX)/.tvh_build: \ - $(LIBAVDIR)/$(LIBVPX)/.tvh_download \ - $(LIBAVDIR)/$(YASM)/.tvh_build - cd $(LIBAVDIR)/$(LIBVPX) && $(CONFIGURE) \ +$(LIB_ROOT)/$(LIBVPX)/.tvh_build: \ + $(LIB_ROOT)/$(LIBVPX)/.tvh_download \ + $(LIB_ROOT)/$(YASM)/.tvh_build + cd $(LIB_ROOT)/$(LIBVPX) && $(CONFIGURE) \ --prefix=/ffmpeg \ --enable-static \ --disable-shared - DIST_DIR=$(LIBAVDIR)/build/ffmpeg \ - $(MAKE) -C $(LIBAVDIR)/$(LIBVPX) install + DIST_DIR=$(LIB_ROOT)/build/ffmpeg \ + $(MAKE) -C $(LIB_ROOT)/$(LIBVPX) install @touch $@ # # FFMPEG # -$(LIBAVDIR)/$(FFMPEG)/.tvh_download: - @mkdir -p $(LIBAVDIR)/build - $(call DOWNLOAD,$(FFMPEG_URL),$(LIBAVDIR)/$(FFMPEG_TB),$(FFMPEG_SHA1)) +$(LIB_ROOT)/$(FFMPEG)/.tvh_download: + @mkdir -p $(LIB_ROOT)/build + $(call DOWNLOAD,$(FFMPEG_URL),$(LIB_ROOT)/$(FFMPEG_TB),$(FFMPEG_SHA1)) $(call UNTAR,$(FFMPEG_TB),j) - @cd $(LIBAVDIR)/$(FFMPEG) && echo -en "\ + @cd $(LIB_ROOT)/$(FFMPEG) && echo -en "\ --- libavcodec/libvpxenc.c.old 2015-11-21 21:52:16.502341511 +0100\n\ +++ libavcodec/libvpxenc.c 2015-11-21 21:53:18.164552128 +0100\n\ @@ -104,19 +104,11 @@\n\ @@ -388,15 +399,15 @@ $(LIBAVDIR)/$(FFMPEG)/.tvh_download: [VP8E_SET_ARNR_TYPE] = \"VP8E_SET_ARNR_TYPE\",\n" | patch -p0 @touch $@ -$(LIBAVDIR)/$(FFMPEG)/.tvh_build: \ - $(LIBAVDIR)/$(YASM)/.tvh_build \ - $(LIBAVDIR)/$(LIBVORBIS)/.tvh_build \ - $(LIBAVDIR)/$(LIBX264)/.tvh_build \ - $(LIBAVDIR)/$(LIBX265)/.tvh_build \ - $(LIBAVDIR)/$(LIBVPX)/.tvh_build \ - $(LIBAVDIR)/$(LIBMFX)/.tvh_build \ - $(LIBAVDIR)/$(FFMPEG)/.tvh_download - cd $(LIBAVDIR)/$(FFMPEG) && $(EXTRAENV) $(CONFIGURE) \ +$(LIB_ROOT)/$(FFMPEG)/.tvh_build: \ + $(LIB_ROOT)/$(YASM)/.tvh_build \ + $(LIB_ROOT)/$(LIBVORBIS)/.tvh_build \ + $(LIB_ROOT)/$(LIBX264)/.tvh_build \ + $(LIB_ROOT)/$(LIBX265)/.tvh_build \ + $(LIB_ROOT)/$(LIBVPX)/.tvh_build \ + $(LIB_ROOT)/$(LIBMFX)/.tvh_build \ + $(LIB_ROOT)/$(FFMPEG)/.tvh_download + cd $(LIB_ROOT)/$(FFMPEG) && $(EXTRAENV) $(CONFIGURE) \ --prefix=/ffmpeg \ --disable-all \ --enable-static \ @@ -413,10 +424,6 @@ $(LIBAVDIR)/$(FFMPEG)/.tvh_build: \ $(foreach muxer,$(MUXERS),--enable-muxer=$(muxer)) \ $(foreach bsf,$(BSFS),--enable-bsf=$(bsf)) \ $(foreach filter,$(FILTERS),--enable-filter=$(filter)) - DESTDIR=$(LIBAVDIR)/build \ - $(MAKE) -C $(LIBAVDIR)/$(FFMPEG) install + DESTDIR=$(LIB_ROOT)/build \ + $(MAKE) -C $(LIB_ROOT)/$(FFMPEG) install @touch $@ - -.PHONY: static_libav_clean -static_libav_clean: - @rm -rf $(LIBAVDIR) diff --git a/Makefile.hdhomerun b/Makefile.hdhomerun index 943ffec24..daa16ca99 100644 --- a/Makefile.hdhomerun +++ b/Makefile.hdhomerun @@ -16,72 +16,69 @@ # along with this program. If not, see . # -include $(dir $(lastword $(MAKEFILE_LIST))).config.mk +DIR := $(dir $(lastword $(MAKEFILE_LIST))) +include $(DIR)/.config.mk unexport CFLAGS unexport LDFLAGS -define DOWNLOAD - @mkdir -p $(LIBHDHRDIR)/build - @if test -z "$${TVHEADEND_FILE_CACHE}"; then \ - printf "WGET $(1)\n"; \ - wget --no-verbose -O $(2) $(1); \ - else \ - file=$$(basename $(2)); \ - cp "$$TVHEADEND_FILE_CACHE/$$(file)" $(2); \ - fi - @{ \ - sum=$$(sha1sum $(2) | cut -d ' ' -f 1); \ - printf "SHA1SUM test '$${sum}' == '$(3)': "; \ - test "y$${sum}" = "y$(3)"; \ - } - @echo "OK" -endef - -define UNTAR - @{ \ - printf "UNTAR $(1)\n"; \ - tar x -C $(LIBHDHRDIR) -$(2)f $(LIBHDHRDIR)/$(1); \ - } -endef - -LIBHDHRDIR = $(ROOTDIR)/libhdhomerun_static - -export PATH := $(LIBHDHRDIR)/build/bin:$(PATH) +# ########################################################################### +# Upstream Packages +# ########################################################################### LIBHDHR = libhdhomerun_20150826 LIBHDHR_TB = $(LIBHDHR).tgz LIBHDHR_URL = http://download.silicondust.com/hdhomerun/$(LIBHDHR_TB) LIBHDHR_SHA1 = 24ce6003b1e815ec4c642d180b621c1d524ca1cf +# ########################################################################### +# 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 + +include $(DIR)/Makefile.static + .PHONY: build -build: $(LIBHDHRDIR)/$(LIBHDHR)/.tvh_build +build: $(LIB_ROOT)/$(LIBHDHR)/.tvh_build + +# ########################################################################### +# Build Rules +# ########################################################################### + +export PATH := $(LIB_ROOT)/build/bin:$(PATH) # # libhdhomerun # --include $(LIBHDHRDIR)/$(LIBHDHR)/Makefile +-include $(LIB_ROOT)/$(LIBHDHR)/Makefile -OBJS = $(foreach file,$(LIBSRCS),$(LIBHDHRDIR)/$(LIBHDHR)/$(basename $(file)).o) +OBJS := $(foreach file,$(LIBSRCS),$(LIB_ROOT)/$(LIBHDHR)/$(basename $(file)).o) -$(LIBHDHRDIR)/$(LIBHDHR)/%.o: $(LIBHDHRDIR)/$(LIBHDHR)/%.c +$(LIB_ROOT)/$(LIBHDHR)/%.o: $(LIB_ROOT)/$(LIBHDHR)/%.c $(CC) -MD -MP $(CFLAGS) -c -o $@ $< -$(LIBHDHRDIR)/$(LIBHDHR)/libhdhomerun.a: $(OBJS) +$(LIB_ROOT)/$(LIBHDHR)/libhdhomerun.a: $(OBJS) $(AR) rcs $@ $^ -$(LIBHDHRDIR)/$(LIBHDHR)/.tvh_download: - $(call DOWNLOAD,$(LIBHDHR_URL),$(LIBHDHRDIR)/$(LIBHDHR_TB),$(LIBHDHR_SHA1)) +$(LIB_ROOT)/$(LIBHDHR)/.tvh_download: + $(call DOWNLOAD,$(LIBHDHR_URL),$(LIB_ROOT)/$(LIBHDHR_TB),$(LIBHDHR_SHA1)) $(call UNTAR,$(LIBHDHR_TB),z) - ln -sf libhdhomerun $(LIBHDHRDIR)/$(LIBHDHR) + ln -sf libhdhomerun $(LIB_ROOT)/$(LIBHDHR) @touch $@ -$(LIBHDHRDIR)/$(LIBHDHR)/.tvh_build: \ - $(LIBHDHRDIR)/$(LIBHDHR)/.tvh_download - $(MAKE) -f Makefile.hdhomerun $(LIBHDHRDIR)/$(LIBHDHR)/libhdhomerun.a +$(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 $(LIBHDHRDIR) + @rm -rf $(LIB_ROOT)