$(eval INSTALL = @$(call ECHO,INSTALL,$$(^:$(SRC_PATH)/%=%)); $(INSTALL))
endif
+ALLFFLIBS = avcodec avdevice avfilter avformat avresample avutil swscale
+
IFLAGS := -I. -I$(SRC_PATH)
CPPFLAGS := $(IFLAGS) $(CPPFLAGS)
CFLAGS += $(ECFLAGS)
CCFLAGS = $(CFLAGS)
-YASMFLAGS += $(IFLAGS) -Pconfig.asm
+YASMFLAGS += $(IFLAGS) -I$(SRC_PATH)/libavutil/x86/ -Pconfig.asm
HOSTCFLAGS += $(IFLAGS)
-LDFLAGS += $(ALLFFLIBS:%=-Llib%)
+LDFLAGS := $(ALLFFLIBS:%=-Llib%) $(LDFLAGS)
define COMPILE
$($(1)DEP)
%.c %.h: TAG = GEN
-PROGS-$(CONFIG_FFMPEG) += ffmpeg
-PROGS-$(CONFIG_FFPLAY) += ffplay
-PROGS-$(CONFIG_FFPROBE) += ffprobe
-PROGS-$(CONFIG_FFSERVER) += ffserver
+PROGS-$(CONFIG_AVCONV) += avconv
+PROGS-$(CONFIG_AVPLAY) += avplay
+PROGS-$(CONFIG_AVPROBE) += avprobe
+PROGS-$(CONFIG_AVSERVER) += avserver
PROGS := $(PROGS-yes:%=%$(EXESUF))
OBJS = $(PROGS-yes:%=%.o) cmdutils.o
TESTTOOLS = audiogen videogen rotozoom tiny_psnr base64
-HOSTPROGS := $(TESTTOOLS:%=tests/%)
+HOSTPROGS := $(TESTTOOLS:%=tests/%) doc/print_options
TOOLS = qt-faststart trasher
TOOLS-$(CONFIG_ZLIB) += cws2fws
-BASENAMES = ffmpeg ffplay ffprobe ffserver
+BASENAMES = avconv avplay avprobe avserver
ALLPROGS = $(BASENAMES:%=%$(EXESUF))
ALLMANPAGES = $(BASENAMES:%=%.1)
-ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale
-
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_SWSCALE) += swscale
FFLIBS := avutil
-DATA_FILES := $(wildcard $(SRC_PATH)/ffpresets/*.ffpreset)
+DATA_FILES := $(wildcard $(SRC_PATH)/presets/*.avpreset)
SKIPHEADERS = cmdutils_common_opts.h
FF_EXTRALIBS := $(FFEXTRALIBS)
FF_DEP_LIBS := $(DEP_LIBS)
-all: $(FF_DEP_LIBS) $(PROGS)
+all: $(PROGS)
$(TOOLS): %$(EXESUF): %.o
$(LD) $(LDFLAGS) -o $@ $< $(ELIBS)
@-printf '\nWARNING: $(?F) newer than config.h, rerun configure\n\n'
@-tput sgr0 2>/dev/null
-SUBDIR_VARS := OBJS FFLIBS CLEANFILES DIRS TESTPROGS EXAMPLES SKIPHEADERS \
- ALTIVEC-OBJS MMX-OBJS NEON-OBJS X86-OBJS YASM-OBJS-FFT YASM-OBJS \
- HOSTPROGS BUILT_HEADERS TESTOBJS ARCH_HEADERS ARMV6-OBJS TOOLS
+SUBDIR_VARS := CLEANFILES EXAMPLES FFLIBS HOSTPROGS TESTPROGS TOOLS \
+ ARCH_HEADERS BUILT_HEADERS SKIPHEADERS \
+ ALTIVEC-OBJS ARMV5TE-OBJS ARMV6-OBJS ARMVFP-OBJS MMI-OBJS \
+ MMX-OBJS NEON-OBJS VIS-OBJS YASM-OBJS \
+ OBJS TESTOBJS
define RESET
$(1) :=
$(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))))
-ffplay.o: CFLAGS += $(SDL_CFLAGS)
-ffplay$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS)
-ffserver$(EXESUF): LDFLAGS += $(FFSERVERLDFLAGS)
+avplay.o: CFLAGS += $(SDL_CFLAGS)
+avplay$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS)
+avserver$(EXESUF): LDFLAGS += $(AVSERVERLDFLAGS)
$(PROGS): %$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS)
$(LD) $(LDFLAGS) -o $@ $< cmdutils.o $(FF_EXTRALIBS)
config:
$(SRC_PATH)/configure $(value LIBAV_CONFIGURATION)
+check: all alltools checkheaders examples testprogs fate
+
include $(SRC_PATH)/doc/Makefile
include $(SRC_PATH)/tests/Makefile
# so this saves some time on slow systems.
.SUFFIXES:
-.PHONY: all all-yes alltools *clean config examples install*
+.PHONY: all all-yes alltools check *clean config examples install*
.PHONY: testprogs uninstall*