11bd4fe43Sopenharmony_ciMAIN_MAKEFILE=1 21bd4fe43Sopenharmony_ciinclude ffbuild/config.mak 31bd4fe43Sopenharmony_ci 41bd4fe43Sopenharmony_civpath %.c $(SRC_PATH) 51bd4fe43Sopenharmony_civpath %.cpp $(SRC_PATH) 61bd4fe43Sopenharmony_civpath %.h $(SRC_PATH) 71bd4fe43Sopenharmony_civpath %.inc $(SRC_PATH) 81bd4fe43Sopenharmony_civpath %.m $(SRC_PATH) 91bd4fe43Sopenharmony_civpath %.S $(SRC_PATH) 101bd4fe43Sopenharmony_civpath %.asm $(SRC_PATH) 111bd4fe43Sopenharmony_civpath %.rc $(SRC_PATH) 121bd4fe43Sopenharmony_civpath %.v $(SRC_PATH) 131bd4fe43Sopenharmony_civpath %.texi $(SRC_PATH) 141bd4fe43Sopenharmony_civpath %.cu $(SRC_PATH) 151bd4fe43Sopenharmony_civpath %.ptx $(SRC_PATH) 161bd4fe43Sopenharmony_civpath %/fate_config.sh.template $(SRC_PATH) 171bd4fe43Sopenharmony_ci 181bd4fe43Sopenharmony_ciTESTTOOLS = audiogen videogen rotozoom tiny_psnr tiny_ssim base64 audiomatch 191bd4fe43Sopenharmony_ciHOSTPROGS := $(TESTTOOLS:%=tests/%) doc/print_options 201bd4fe43Sopenharmony_ci 211bd4fe43Sopenharmony_ci# $(FFLIBS-yes) needs to be in linking order 221bd4fe43Sopenharmony_ciFFLIBS-$(CONFIG_AVDEVICE) += avdevice 231bd4fe43Sopenharmony_ciFFLIBS-$(CONFIG_AVFILTER) += avfilter 241bd4fe43Sopenharmony_ciFFLIBS-$(CONFIG_AVFORMAT) += avformat 251bd4fe43Sopenharmony_ciFFLIBS-$(CONFIG_AVCODEC) += avcodec 261bd4fe43Sopenharmony_ciFFLIBS-$(CONFIG_AVRESAMPLE) += avresample 271bd4fe43Sopenharmony_ciFFLIBS-$(CONFIG_POSTPROC) += postproc 281bd4fe43Sopenharmony_ciFFLIBS-$(CONFIG_SWRESAMPLE) += swresample 291bd4fe43Sopenharmony_ciFFLIBS-$(CONFIG_SWSCALE) += swscale 301bd4fe43Sopenharmony_ci 311bd4fe43Sopenharmony_ciFFLIBS := avutil 321bd4fe43Sopenharmony_ci 331bd4fe43Sopenharmony_ciDATA_FILES := $(wildcard $(SRC_PATH)/presets/*.ffpreset) $(SRC_PATH)/doc/ffprobe.xsd 341bd4fe43Sopenharmony_ci 351bd4fe43Sopenharmony_ciSKIPHEADERS = compat/w32pthreads.h 361bd4fe43Sopenharmony_ci 371bd4fe43Sopenharmony_ci# first so "all" becomes default target 381bd4fe43Sopenharmony_ciall: all-yes 391bd4fe43Sopenharmony_ci 401bd4fe43Sopenharmony_ciinclude $(SRC_PATH)/tools/Makefile 411bd4fe43Sopenharmony_ciinclude $(SRC_PATH)/ffbuild/common.mak 421bd4fe43Sopenharmony_ci 431bd4fe43Sopenharmony_ciifeq ($(LLVM_COMPILER), y) 441bd4fe43Sopenharmony_ciSYSROOT_PATH ?= ../../../../../sysroot 451bd4fe43Sopenharmony_ciARCH_CFLAGS ?= --target=arm-liteos-ohos 461bd4fe43Sopenharmony_ciCFLAGS += --sysroot=$(SYSROOT_PATH) $(ARCH_CFLAGS) 471bd4fe43Sopenharmony_ciLDFLAGS += --sysroot=$(SYSROOT_PATH) $(ARCH_CFLAGS) 481bd4fe43Sopenharmony_ciendif 491bd4fe43Sopenharmony_ci 501bd4fe43Sopenharmony_ciFF_EXTRALIBS := $(FFEXTRALIBS) 511bd4fe43Sopenharmony_ciFF_DEP_LIBS := $(DEP_LIBS) 521bd4fe43Sopenharmony_ciFF_STATIC_DEP_LIBS := $(STATIC_DEP_LIBS) 531bd4fe43Sopenharmony_ci 541bd4fe43Sopenharmony_ci$(TOOLS): %$(EXESUF): %.o 551bd4fe43Sopenharmony_ci $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(EXTRALIBS-$(*F)) $(EXTRALIBS) $(ELIBS) 561bd4fe43Sopenharmony_ci 571bd4fe43Sopenharmony_citarget_dec_%_fuzzer$(EXESUF): target_dec_%_fuzzer.o $(FF_DEP_LIBS) 581bd4fe43Sopenharmony_ci $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH) 591bd4fe43Sopenharmony_ci 601bd4fe43Sopenharmony_citools/target_bsf_%_fuzzer$(EXESUF): tools/target_bsf_%_fuzzer.o $(FF_DEP_LIBS) 611bd4fe43Sopenharmony_ci $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH) 621bd4fe43Sopenharmony_ci 631bd4fe43Sopenharmony_citarget_dem_%_fuzzer$(EXESUF): target_dem_%_fuzzer.o $(FF_DEP_LIBS) 641bd4fe43Sopenharmony_ci $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH) 651bd4fe43Sopenharmony_ci 661bd4fe43Sopenharmony_citools/target_dem_fuzzer$(EXESUF): tools/target_dem_fuzzer.o $(FF_DEP_LIBS) 671bd4fe43Sopenharmony_ci $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH) 681bd4fe43Sopenharmony_ci 691bd4fe43Sopenharmony_citools/target_io_dem_fuzzer$(EXESUF): tools/target_io_dem_fuzzer.o $(FF_DEP_LIBS) 701bd4fe43Sopenharmony_ci $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH) 711bd4fe43Sopenharmony_ci 721bd4fe43Sopenharmony_ci 731bd4fe43Sopenharmony_citools/enum_options$(EXESUF): ELIBS = $(FF_EXTRALIBS) 741bd4fe43Sopenharmony_citools/enum_options$(EXESUF): $(FF_DEP_LIBS) 751bd4fe43Sopenharmony_citools/sofa2wavs$(EXESUF): ELIBS = $(FF_EXTRALIBS) 761bd4fe43Sopenharmony_citools/uncoded_frame$(EXESUF): $(FF_DEP_LIBS) 771bd4fe43Sopenharmony_citools/uncoded_frame$(EXESUF): ELIBS = $(FF_EXTRALIBS) 781bd4fe43Sopenharmony_citools/target_dec_%_fuzzer$(EXESUF): $(FF_DEP_LIBS) 791bd4fe43Sopenharmony_citools/target_dem_%_fuzzer$(EXESUF): $(FF_DEP_LIBS) 801bd4fe43Sopenharmony_ci 811bd4fe43Sopenharmony_ciCONFIGURABLE_COMPONENTS = \ 821bd4fe43Sopenharmony_ci $(wildcard $(FFLIBS:%=$(SRC_PATH)/lib%/all*.c)) \ 831bd4fe43Sopenharmony_ci $(SRC_PATH)/libavcodec/bitstream_filters.c \ 841bd4fe43Sopenharmony_ci $(SRC_PATH)/libavcodec/parsers.c \ 851bd4fe43Sopenharmony_ci $(SRC_PATH)/libavformat/protocols.c \ 861bd4fe43Sopenharmony_ci 871bd4fe43Sopenharmony_ciconfig.h: ffbuild/.config 881bd4fe43Sopenharmony_ciffbuild/.config: $(CONFIGURABLE_COMPONENTS) 891bd4fe43Sopenharmony_ci @-tput bold 2>/dev/null 901bd4fe43Sopenharmony_ci @-printf '\nWARNING: $(?) newer than config.h, rerun configure\n\n' 911bd4fe43Sopenharmony_ci @-tput sgr0 2>/dev/null 921bd4fe43Sopenharmony_ci 931bd4fe43Sopenharmony_ciSUBDIR_VARS := CLEANFILES FFLIBS HOSTPROGS TESTPROGS TOOLS \ 941bd4fe43Sopenharmony_ci HEADERS ARCH_HEADERS BUILT_HEADERS SKIPHEADERS \ 951bd4fe43Sopenharmony_ci ARMV5TE-OBJS ARMV6-OBJS ARMV8-OBJS VFP-OBJS NEON-OBJS \ 961bd4fe43Sopenharmony_ci ALTIVEC-OBJS VSX-OBJS MMX-OBJS X86ASM-OBJS \ 971bd4fe43Sopenharmony_ci MIPSFPU-OBJS MIPSDSPR2-OBJS MIPSDSP-OBJS MSA-OBJS \ 981bd4fe43Sopenharmony_ci MMI-OBJS OBJS SLIBOBJS HOSTOBJS TESTOBJS 991bd4fe43Sopenharmony_ci 1001bd4fe43Sopenharmony_cidefine RESET 1011bd4fe43Sopenharmony_ci$(1) := 1021bd4fe43Sopenharmony_ci$(1)-yes := 1031bd4fe43Sopenharmony_ciendef 1041bd4fe43Sopenharmony_ci 1051bd4fe43Sopenharmony_cidefine DOSUBDIR 1061bd4fe43Sopenharmony_ci$(foreach V,$(SUBDIR_VARS),$(eval $(call RESET,$(V)))) 1071bd4fe43Sopenharmony_ciSUBDIR := $(1)/ 1081bd4fe43Sopenharmony_ciinclude $(SRC_PATH)/$(1)/Makefile 1091bd4fe43Sopenharmony_ci-include $(SRC_PATH)/$(1)/$(ARCH)/Makefile 1101bd4fe43Sopenharmony_ci-include $(SRC_PATH)/$(1)/$(INTRINSICS)/Makefile 1111bd4fe43Sopenharmony_ciinclude $(SRC_PATH)/ffbuild/library.mak 1121bd4fe43Sopenharmony_ciendef 1131bd4fe43Sopenharmony_ci 1141bd4fe43Sopenharmony_ci$(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D)))) 1151bd4fe43Sopenharmony_ci 1161bd4fe43Sopenharmony_ciinclude $(SRC_PATH)/fftools/Makefile 1171bd4fe43Sopenharmony_ciinclude $(SRC_PATH)/doc/Makefile 1181bd4fe43Sopenharmony_ciinclude $(SRC_PATH)/doc/examples/Makefile 1191bd4fe43Sopenharmony_ci 1201bd4fe43Sopenharmony_cilibavcodec/avcodec.o libavformat/utils.o libavdevice/avdevice.o libavfilter/avfilter.o libavutil/utils.o libpostproc/postprocess.o libswresample/swresample.o libswscale/utils.o : libavutil/ffversion.h 1211bd4fe43Sopenharmony_ci 1221bd4fe43Sopenharmony_ci$(PROGS): %$(PROGSSUF)$(EXESUF): %$(PROGSSUF)_g$(EXESUF) 1231bd4fe43Sopenharmony_ciifeq ($(STRIPTYPE),direct) 1241bd4fe43Sopenharmony_ci $(STRIP) -o $@ $< 1251bd4fe43Sopenharmony_cielse 1261bd4fe43Sopenharmony_ci $(CP) $< $@ 1271bd4fe43Sopenharmony_ci $(STRIP) $@ 1281bd4fe43Sopenharmony_ciendif 1291bd4fe43Sopenharmony_ci 1301bd4fe43Sopenharmony_ci%$(PROGSSUF)_g$(EXESUF): $(FF_DEP_LIBS) 1311bd4fe43Sopenharmony_ci $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(OBJS-$*) $(FF_EXTRALIBS) 1321bd4fe43Sopenharmony_ci 1331bd4fe43Sopenharmony_ciVERSION_SH = $(SRC_PATH)/ffbuild/version.sh 1341bd4fe43Sopenharmony_ciGIT_LOG = $(SRC_PATH)/.git/logs/HEAD 1351bd4fe43Sopenharmony_ci 1361bd4fe43Sopenharmony_ci.version: $(wildcard $(GIT_LOG)) $(VERSION_SH) ffbuild/config.mak 1371bd4fe43Sopenharmony_ci.version: M=@ 1381bd4fe43Sopenharmony_ci 1391bd4fe43Sopenharmony_cilibavutil/ffversion.h .version: 1401bd4fe43Sopenharmony_ci $(M)$(VERSION_SH) $(SRC_PATH) libavutil/ffversion.h $(EXTRA_VERSION) 1411bd4fe43Sopenharmony_ci $(Q)touch .version 1421bd4fe43Sopenharmony_ci 1431bd4fe43Sopenharmony_ci# force version.sh to run whenever version might have changed 1441bd4fe43Sopenharmony_ci-include .version 1451bd4fe43Sopenharmony_ci 1461bd4fe43Sopenharmony_ciinstall: install-libs install-headers 1471bd4fe43Sopenharmony_ci 1481bd4fe43Sopenharmony_ciinstall-libs: install-libs-yes 1491bd4fe43Sopenharmony_ci 1501bd4fe43Sopenharmony_ciinstall-data: $(DATA_FILES) 1511bd4fe43Sopenharmony_ci $(Q)mkdir -p "$(DATADIR)" 1521bd4fe43Sopenharmony_ci $(INSTALL) -m 644 $(DATA_FILES) "$(DATADIR)" 1531bd4fe43Sopenharmony_ci 1541bd4fe43Sopenharmony_ciuninstall: uninstall-data uninstall-headers uninstall-libs uninstall-pkgconfig 1551bd4fe43Sopenharmony_ci 1561bd4fe43Sopenharmony_ciuninstall-data: 1571bd4fe43Sopenharmony_ci $(RM) -r "$(DATADIR)" 1581bd4fe43Sopenharmony_ci 1591bd4fe43Sopenharmony_ciclean:: 1601bd4fe43Sopenharmony_ci $(RM) $(CLEANSUFFIXES) 1611bd4fe43Sopenharmony_ci $(RM) $(addprefix compat/,$(CLEANSUFFIXES)) $(addprefix compat/*/,$(CLEANSUFFIXES)) $(addprefix compat/*/*/,$(CLEANSUFFIXES)) 1621bd4fe43Sopenharmony_ci $(RM) -r coverage-html 1631bd4fe43Sopenharmony_ci $(RM) -rf coverage.info coverage.info.in lcov 1641bd4fe43Sopenharmony_ci 1651bd4fe43Sopenharmony_cidistclean:: clean 1661bd4fe43Sopenharmony_ci $(RM) .version avversion.h config.asm config.h mapfile \ 1671bd4fe43Sopenharmony_ci ffbuild/.config ffbuild/config.* libavutil/avconfig.h \ 1681bd4fe43Sopenharmony_ci version.h libavutil/ffversion.h libavcodec/codec_names.h \ 1691bd4fe43Sopenharmony_ci libavcodec/bsf_list.c libavformat/protocol_list.c \ 1701bd4fe43Sopenharmony_ci libavcodec/codec_list.c libavcodec/parser_list.c \ 1711bd4fe43Sopenharmony_ci libavfilter/filter_list.c libavdevice/indev_list.c libavdevice/outdev_list.c \ 1721bd4fe43Sopenharmony_ci libavformat/muxer_list.c libavformat/demuxer_list.c 1731bd4fe43Sopenharmony_ciifeq ($(SRC_LINK),src) 1741bd4fe43Sopenharmony_ci $(RM) src 1751bd4fe43Sopenharmony_ciendif 1761bd4fe43Sopenharmony_ci $(RM) -rf doc/examples/pc-uninstalled 1771bd4fe43Sopenharmony_ci 1781bd4fe43Sopenharmony_ciconfig: 1791bd4fe43Sopenharmony_ci $(SRC_PATH)/configure $(value FFMPEG_CONFIGURATION) 1801bd4fe43Sopenharmony_ci 1811bd4fe43Sopenharmony_cibuild: all alltools examples testprogs 1821bd4fe43Sopenharmony_cicheck: all alltools examples testprogs fate 1831bd4fe43Sopenharmony_ci 1841bd4fe43Sopenharmony_ciinclude $(SRC_PATH)/tests/Makefile 1851bd4fe43Sopenharmony_ci 1861bd4fe43Sopenharmony_ci$(sort $(OUTDIRS)): 1871bd4fe43Sopenharmony_ci $(Q)mkdir -p $@ 1881bd4fe43Sopenharmony_ci 1891bd4fe43Sopenharmony_ci# Dummy rule to stop make trying to rebuild removed or renamed headers 1901bd4fe43Sopenharmony_ci%.h: 1911bd4fe43Sopenharmony_ci @: 1921bd4fe43Sopenharmony_ci 1931bd4fe43Sopenharmony_ci# Disable suffix rules. Most of the builtin rules are suffix rules, 1941bd4fe43Sopenharmony_ci# so this saves some time on slow systems. 1951bd4fe43Sopenharmony_ci.SUFFIXES: 1961bd4fe43Sopenharmony_ci 1971bd4fe43Sopenharmony_ci.PHONY: all all-yes alltools build check config testprogs 1981bd4fe43Sopenharmony_ci.PHONY: *clean install* uninstall* 199