diff options
| author | Tim Redfern <tim@eclectronics.org> | 2013-09-05 17:57:22 +0100 |
|---|---|---|
| committer | Tim Redfern <tim@eclectronics.org> | 2013-09-05 17:57:22 +0100 |
| commit | 8992cb1d0d07edc33d274f6d7924ecdf6f83d994 (patch) | |
| tree | 3a2c86846b7eec8137c1507e623fc7018f13d453 /ffmpeg/Makefile | |
| parent | 741fb4b9e135cfb161a749db88713229038577bb (diff) | |
making act segmenter
Diffstat (limited to 'ffmpeg/Makefile')
| -rw-r--r-- | ffmpeg/Makefile | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/ffmpeg/Makefile b/ffmpeg/Makefile new file mode 100644 index 0000000..07821d1 --- /dev/null +++ b/ffmpeg/Makefile @@ -0,0 +1,193 @@ +MAIN_MAKEFILE=1 +include config.mak + +vpath %.c $(SRC_PATH) +vpath %.cpp $(SRC_PATH) +vpath %.h $(SRC_PATH) +vpath %.S $(SRC_PATH) +vpath %.asm $(SRC_PATH) +vpath %.v $(SRC_PATH) +vpath %.texi $(SRC_PATH) +vpath %/fate_config.sh.template $(SRC_PATH) + +PROGS-$(CONFIG_FFMPEG) += ffmpeg +PROGS-$(CONFIG_FFPLAY) += ffplay +PROGS-$(CONFIG_FFPROBE) += ffprobe +PROGS-$(CONFIG_FFSERVER) += ffserver + +PROGS := $(PROGS-yes:%=%$(PROGSSUF)$(EXESUF)) +INSTPROGS = $(PROGS-yes:%=%$(PROGSSUF)$(EXESUF)) + +OBJS = cmdutils.o $(EXEOBJS) +OBJS-ffmpeg = ffmpeg_opt.o ffmpeg_filter.o +TESTTOOLS = audiogen videogen rotozoom tiny_psnr base64 +HOSTPROGS := $(TESTTOOLS:%=tests/%) doc/print_options +TOOLS = qt-faststart trasher +TOOLS-$(CONFIG_ZLIB) += cws2fws + +BASENAMES = ffmpeg ffplay ffprobe ffserver +ALLPROGS = $(BASENAMES:%=%$(PROGSSUF)$(EXESUF)) +ALLPROGS_G = $(BASENAMES:%=%$(PROGSSUF)_g$(EXESUF)) +ALLMANPAGES = $(BASENAMES:%=%.1) + +FFLIBS-$(CONFIG_AVDEVICE) += avdevice +FFLIBS-$(CONFIG_AVFILTER) += avfilter +FFLIBS-$(CONFIG_AVFORMAT) += avformat +FFLIBS-$(CONFIG_AVRESAMPLE) += avresample +FFLIBS-$(CONFIG_AVCODEC) += avcodec +FFLIBS-$(CONFIG_POSTPROC) += postproc +FFLIBS-$(CONFIG_SWRESAMPLE)+= swresample +FFLIBS-$(CONFIG_SWSCALE) += swscale + +FFLIBS := avutil + +DATA_FILES := $(wildcard $(SRC_PATH)/presets/*.ffpreset) $(SRC_PATH)/doc/ffprobe.xsd +EXAMPLES_FILES := $(wildcard $(SRC_PATH)/doc/examples/*.c) $(SRC_PATH)/doc/examples/Makefile $(SRC_PATH)/doc/examples/README + +SKIPHEADERS = cmdutils_common_opts.h + +include $(SRC_PATH)/common.mak + +FF_EXTRALIBS := $(FFEXTRALIBS) +FF_DEP_LIBS := $(DEP_LIBS) + +all: $(PROGS) + +$(PROGS): %$(EXESUF): %_g$(EXESUF) + $(CP) $< $@ + $(STRIP) $@ + +$(TOOLS): %$(EXESUF): %.o $(EXEOBJS) + $(LD) $(LDFLAGS) $(LD_O) $^ $(ELIBS) + +tools/cws2fws$(EXESUF): ELIBS = $(ZLIB) + +config.h: .config +.config: $(wildcard $(FFLIBS:%=$(SRC_PATH)/lib%/all*.c)) + @-tput bold 2>/dev/null + @-printf '\nWARNING: $(?F) newer than config.h, rerun configure\n\n' + @-tput sgr0 2>/dev/null + +SUBDIR_VARS := CLEANFILES EXAMPLES FFLIBS HOSTPROGS TESTPROGS TOOLS \ + HEADERS ARCH_HEADERS BUILT_HEADERS SKIPHEADERS \ + ARMV5TE-OBJS ARMV6-OBJS VFP-OBJS NEON-OBJS \ + ALTIVEC-OBJS VIS-OBJS \ + MMX-OBJS YASM-OBJS \ + MIPSFPU-OBJS MIPSDSPR2-OBJS MIPSDSPR1-OBJS MIPS32R2-OBJS \ + OBJS HOSTOBJS TESTOBJS + +define RESET +$(1) := +$(1)-yes := +endef + +define DOSUBDIR +$(foreach V,$(SUBDIR_VARS),$(eval $(call RESET,$(V)))) +SUBDIR := $(1)/ +include $(SRC_PATH)/$(1)/Makefile +-include $(SRC_PATH)/$(1)/$(ARCH)/Makefile +include $(SRC_PATH)/library.mak +endef + +$(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D)))) + +define DOPROG +OBJS-$(1) += $(1).o cmdutils.o $(EXEOBJS) +$(1)$(PROGSSUF)_g$(EXESUF): $$(OBJS-$(1)) +$$(OBJS-$(1)): CFLAGS += $(CFLAGS-$(1)) +$(1)$(PROGSSUF)_g$(EXESUF): LDFLAGS += $(LDFLAGS-$(1)) +$(1)$(PROGSSUF)_g$(EXESUF): FF_EXTRALIBS += $(LIBS-$(1)) +-include $$(OBJS-$(1):.o=.d) +endef + +$(foreach P,$(PROGS-yes),$(eval $(call DOPROG,$(P)))) + +%$(PROGSSUF)_g$(EXESUF): %.o $(FF_DEP_LIBS) + $(LD) $(LDFLAGS) $(LD_O) $(OBJS-$*) $(FF_EXTRALIBS) + +OBJDIRS += tools + +-include $(wildcard tools/*.d) + +VERSION_SH = $(SRC_PATH)/version.sh +GIT_LOG = $(SRC_PATH)/.git/logs/HEAD + +.version: $(wildcard $(GIT_LOG)) $(VERSION_SH) config.mak +.version: M=@ + +version.h .version: + $(M)$(VERSION_SH) $(SRC_PATH) version.h $(EXTRA_VERSION) + $(Q)touch .version + +# force version.sh to run whenever version might have changed +-include .version + +ifdef PROGS +install: install-progs install-data +endif + +install: install-libs install-headers + +install-libs: install-libs-yes + +install-progs-yes: +install-progs-$(CONFIG_SHARED): install-libs + +install-progs: install-progs-yes $(PROGS) + $(Q)mkdir -p "$(BINDIR)" + $(INSTALL) -c -m 755 $(INSTPROGS) "$(BINDIR)" + +install-data: $(DATA_FILES) $(EXAMPLES_FILES) + $(Q)mkdir -p "$(DATADIR)/examples" + $(INSTALL) -m 644 $(DATA_FILES) "$(DATADIR)" + $(INSTALL) -m 644 $(EXAMPLES_FILES) "$(DATADIR)/examples" + +uninstall: uninstall-libs uninstall-headers uninstall-progs uninstall-data + +uninstall-progs: + $(RM) $(addprefix "$(BINDIR)/", $(ALLPROGS)) + +uninstall-data: + $(RM) -r "$(DATADIR)" + +clean:: + $(RM) $(ALLPROGS) $(ALLPROGS_G) + $(RM) $(CLEANSUFFIXES) + $(RM) $(CLEANSUFFIXES:%=tools/%) + $(RM) coverage.info + $(RM) -r coverage-html + +distclean:: + $(RM) $(DISTCLEANSUFFIXES) + $(RM) config.* .version version.h libavutil/avconfig.h libavcodec/codec_names.h + +config: + $(SRC_PATH)/configure $(value FFMPEG_CONFIGURATION) + +# Without the sed genthml thinks "libavutil" and "./libavutil" are two different things +coverage.info: $(wildcard *.gcda *.gcno */*.gcda */*.gcno */*/*.gcda */*/*.gcno) + $(Q)lcov -c -d . -b . | sed -e 's#/./#/#g' > $@ + +coverage-html: coverage.info + $(Q)mkdir -p $@ + $(Q)genhtml -o $@ $< + $(Q)touch $@ + +check: all alltools examples testprogs fate + +include $(SRC_PATH)/doc/Makefile +include $(SRC_PATH)/tests/Makefile + +$(sort $(OBJDIRS)): + $(Q)mkdir -p $@ + +# Dummy rule to stop make trying to rebuild removed or renamed headers +%.h: + @: + +# Disable suffix rules. Most of the builtin rules are suffix rules, +# so this saves some time on slow systems. +.SUFFIXES: + +.PHONY: all all-yes alltools check *clean config install* +.PHONY: testprogs uninstall* |
