X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=Makefile;h=7b1e55015bff299bf7ae2ad08d7739bf124f66e1;hb=e93aa2c9e7b3599aee6a5820760fc1a2c629dea0;hp=2453dfd996a18e95e75c4c5593c799fccf5e02b3;hpb=b4dd424d96f09f9bafb88e47f37df65dc4529143;p=ffmpeg diff --git a/Makefile b/Makefile index 2453dfd996a..7b1e55015bf 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ include config.mak vpath %.c $(SRC_PATH) +vpath %.m $(SRC_PATH) vpath %.h $(SRC_PATH) vpath %.S $(SRC_PATH) vpath %.asm $(SRC_PATH) @@ -26,6 +27,8 @@ IFLAGS := -I. -I$(SRC_PATH) CPPFLAGS := $(IFLAGS) $(CPPFLAGS) CFLAGS += $(ECFLAGS) CCFLAGS = $(CPPFLAGS) $(CFLAGS) +OBJCFLAGS += $(EOBJCFLAGS) +OBJCCFLAGS = $(CPPFLAGS) $(CFLAGS) $(OBJCFLAGS) ASFLAGS := $(CPPFLAGS) $(ASFLAGS) YASMFLAGS += $(IFLAGS:%=%/) -Pconfig.asm HOSTCCFLAGS = $(IFLAGS) $(HOSTCPPFLAGS) $(HOSTCFLAGS) @@ -38,6 +41,7 @@ endef COMPILE_C = $(call COMPILE,CC) COMPILE_S = $(call COMPILE,AS) +COMPILE_M = $(call COMPILE,OBJCC) COMPILE_HOSTC = $(call COMPILE,HOSTCC) %.o: %.c @@ -46,6 +50,9 @@ COMPILE_HOSTC = $(call COMPILE,HOSTCC) %.o: %.S $(COMPILE_S) +%.o: %.m + $(COMPILE_M) + %_host.o: %.c $(COMPILE_HOSTC) @@ -56,37 +63,42 @@ COMPILE_HOSTC = $(call COMPILE,HOSTCC) $(Q)echo '#include "$*.h"' >$@ %.ver: %.v - $(Q)sed 's/$$MAJOR/$($(basename $(@F))_VERSION_MAJOR)/' $^ > $@ + $(Q)sed 's/$$MAJOR/$($(basename $(@F))_VERSION_MAJOR)/' $^ | sed -e 's/:/:\ +/' -e 's/; /;\ +/g' > $@ %.c %.h: TAG = GEN AVPROGS-$(CONFIG_AVCONV) += avconv AVPROGS-$(CONFIG_AVPLAY) += avplay AVPROGS-$(CONFIG_AVPROBE) += avprobe -AVPROGS-$(CONFIG_AVSERVER) += avserver AVPROGS := $(AVPROGS-yes:%=%$(EXESUF)) PROGS += $(AVPROGS) -AVBASENAMES = avconv avplay avprobe avserver +AVBASENAMES = avconv avplay avprobe ALLAVPROGS = $(AVBASENAMES:%=%$(EXESUF)) $(foreach prog,$(AVBASENAMES),$(eval OBJS-$(prog) += cmdutils.o)) OBJS-avconv += avconv_opt.o avconv_filter.o OBJS-avconv-$(HAVE_VDPAU_X11) += avconv_vdpau.o +OBJS-avconv-$(HAVE_DXVA2_LIB) += avconv_dxva2.o +OBJS-avconv-$(CONFIG_VDA) += avconv_vda.o +OBJS-avconv-$(CONFIG_LIBMFX) += avconv_qsv.o TESTTOOLS = audiogen videogen rotozoom tiny_psnr base64 HOSTPROGS := $(TESTTOOLS:%=tests/%) doc/print_options TOOLS = qt-faststart trasher TOOLS-$(CONFIG_ZLIB) += cws2fws -FFLIBS-$(CONFIG_AVDEVICE) += avdevice -FFLIBS-$(CONFIG_AVFILTER) += avfilter -FFLIBS-$(CONFIG_AVFORMAT) += avformat +# $(FFLIBS-yes) needs to be in linking order +FFLIBS-$(CONFIG_AVDEVICE) += avdevice +FFLIBS-$(CONFIG_AVFILTER) += avfilter +FFLIBS-$(CONFIG_AVFORMAT) += avformat +FFLIBS-$(CONFIG_AVCODEC) += avcodec FFLIBS-$(CONFIG_AVRESAMPLE) += avresample -FFLIBS-$(CONFIG_AVCODEC) += avcodec -FFLIBS-$(CONFIG_SWSCALE) += swscale +FFLIBS-$(CONFIG_SWSCALE) += swscale FFLIBS := avutil @@ -98,11 +110,12 @@ include $(SRC_PATH)/common.mak FF_EXTRALIBS := $(FFEXTRALIBS) FF_DEP_LIBS := $(DEP_LIBS) +FF_STATIC_DEP_LIBS := $(STATIC_DEP_LIBS) all: $(AVPROGS) $(TOOLS): %$(EXESUF): %.o $(EXEOBJS) - $(LD) $(LDFLAGS) $(LD_O) $^ $(ELIBS) + $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) tools/cws2fws$(EXESUF): ELIBS = $(ZLIB) @@ -114,7 +127,7 @@ config.h: .config SUBDIR_VARS := CLEANFILES EXAMPLES FFLIBS HOSTPROGS TESTPROGS TOOLS \ HEADERS ARCH_HEADERS BUILT_HEADERS SKIPHEADERS \ - ARMV5TE-OBJS ARMV6-OBJS VFP-OBJS NEON-OBJS \ + ARMV5TE-OBJS ARMV6-OBJS ARMV8-OBJS VFP-OBJS NEON-OBJS \ ALTIVEC-OBJS MMX-OBJS YASM-OBJS \ OBJS HOSTOBJS TESTOBJS @@ -128,6 +141,7 @@ $(foreach V,$(SUBDIR_VARS),$(eval $(call RESET,$(V)))) SUBDIR := $(1)/ include $(SRC_PATH)/$(1)/Makefile -include $(SRC_PATH)/$(1)/$(ARCH)/Makefile +-include $(SRC_PATH)/$(1)/$(INTRINSICS)/Makefile include $(SRC_PATH)/library.mak endef @@ -147,7 +161,7 @@ endef $(foreach P,$(PROGS),$(eval $(call DOPROG,$(P:$(EXESUF)=)))) $(PROGS): %$(EXESUF): %.o $(FF_DEP_LIBS) - $(LD) $(LDFLAGS) $(LD_O) $(OBJS-$*) $(FF_EXTRALIBS) + $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(OBJS-$*) $(FF_EXTRALIBS) OBJDIRS += tools @@ -159,8 +173,8 @@ 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) +avversion.h .version: + $(M)$(VERSION_SH) $(SRC_PATH) avversion.h $(EXTRA_VERSION) $(Q)touch .version # force version.sh to run whenever version might have changed @@ -201,7 +215,7 @@ clean:: distclean:: $(RM) $(DISTCLEANSUFFIXES) - $(RM) config.* .config libavutil/avconfig.h .version version.h + $(RM) config.* .config libavutil/avconfig.h .version avversion.h config: $(SRC_PATH)/configure $(value LIBAV_CONFIGURATION)