X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=Makefile;h=5e42841d9b9f7b33f9cde263971424eccad4c90a;hb=0047372722fae0f84b116d3ae91c8ab8874e2369;hp=46a005598fcd767374881e634dea995bee0721d7;hpb=60598b2f9a6bc80eb40cfc141792697bb0980956;p=ffmpeg diff --git a/Makefile b/Makefile index 46a005598fc..5e42841d9b9 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,3 @@ -# -# Main ffmpeg Makefile -# (c) 2000-2004 Fabrice Bellard -# include config.mak SRC_DIR = $(SRC_PATH_BARE) @@ -28,6 +24,8 @@ FFLIBS-$(CONFIG_SWSCALE) += swscale FFLIBS := avdevice avformat avcodec avutil +DATA_FILES := $(wildcard $(SRC_DIR)/ffpresets/*.ffpreset) + include common.mak FF_LDFLAGS := $(FFLDFLAGS) @@ -39,7 +37,7 @@ ALL_TARGETS-$(BUILD_DOC) += documentation INSTALL_TARGETS-$(CONFIG_VHOOK) += install-vhook ifneq ($(PROGS),) -INSTALL_TARGETS-yes += install-progs +INSTALL_TARGETS-yes += install-progs install-data INSTALL_TARGETS-$(BUILD_DOC) += install-man endif INSTALL_PROGS_TARGETS-$(BUILD_SHARED) = install-libs @@ -50,7 +48,7 @@ $(PROGS): %$(EXESUF): %_g$(EXESUF) cp -p $< $@ $(STRIP) $@ -SUBDIR_VARS := OBJS ASM_OBJS CPP_OBJS FFLIBS CLEANFILES DIRS TESTS +SUBDIR_VARS := OBJS FFLIBS CLEANFILES DIRS TESTS define RESET $(1) := @@ -71,14 +69,6 @@ ffserver_g$(EXESUF): FF_LDFLAGS += $(FFSERVERLDFLAGS) %_g$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS) $(CC) $(FF_LDFLAGS) -o $@ $< cmdutils.o $(FF_EXTRALIBS) -SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries -ifeq ($(wildcard $(SVN_ENTRIES)),$(SVN_ENTRIES)) -version.h: $(SVN_ENTRIES) -endif - -version.h: - $(SRC_PATH)/version.sh $(SRC_PATH) - output_example$(EXESUF): output_example.o $(FF_DEP_LIBS) $(CC) $(CFLAGS) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS) @@ -87,6 +77,10 @@ tools/%$(EXESUF): tools/%.c ffplay.o ffplay.d: CFLAGS += $(SDL_CFLAGS) +cmdutils.o cmdutils.d: version.h + +alltools: $(addsuffix $(EXESUF),$(addprefix tools/, cws2fws pktdumper qt-faststart trasher)) + VHOOKCFLAGS += $(filter-out -mdynamic-no-pic,$(CFLAGS)) BASEHOOKS = fish null watermark @@ -139,6 +133,10 @@ install-progs: $(PROGS) $(INSTALL_PROGS_TARGETS-yes) install -d "$(BINDIR)" install -c -m 755 $(PROGS) "$(BINDIR)" +install-data: $(DATA_FILES) + install -d "$(DATADIR)" + install -m 644 $(DATA_FILES) "$(DATADIR)" + install-man: $(MANPAGES) install -d "$(MANDIR)/man1" install -m 644 $(MANPAGES) "$(MANDIR)/man1" @@ -147,11 +145,14 @@ install-vhook: videohook install -d "$(SHLIBDIR)/vhook" install -m 755 $(HOOKS) "$(SHLIBDIR)/vhook" -uninstall: uninstall-progs uninstall-man uninstall-vhook +uninstall: uninstall-progs uninstall-data uninstall-man uninstall-vhook uninstall-progs: rm -f $(addprefix "$(BINDIR)/", $(ALLPROGS)) +uninstall-data: + rm -rf "$(DATADIR)" + uninstall-man: rm -f $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES)) @@ -159,20 +160,23 @@ uninstall-vhook: rm -f $(addprefix "$(SHLIBDIR)/",$(ALLHOOKS_SRCS:.c=$(SLIBSUF))) -rmdir "$(SHLIBDIR)/vhook/" -clean:: - rm -f gmon.out TAGS $(ALLPROGS) $(ALLPROGS_G) \ - output_example$(EXESUF) - rm -f doc/*.html doc/*.pod doc/*.1 +testclean: rm -rf tests/vsynth1 tests/vsynth2 tests/data tests/asynth1.sw tests/*~ + +clean:: testclean + rm -f $(ALLPROGS) $(ALLPROGS_G) output_example$(EXESUF) + rm -f doc/*.html doc/*.pod doc/*.1 rm -f $(addprefix tests/,$(addsuffix $(EXESUF),audiogen videogen rotozoom seek_test tiny_psnr)) rm -f $(addprefix tools/,$(addsuffix $(EXESUF),cws2fws pktdumper qt-faststart trasher)) rm -f vhook/*.o vhook/*~ vhook/*.so vhook/*.dylib vhook/*.dll distclean:: - rm -f version.h config.* *.pc vhook/*.d + rm -f version.h config.* vhook/*.d # regression tests +check: test checkheaders + fulltest test: codectest libavtest seektest FFMPEG_REFFILE = $(SRC_PATH)/tests/ffmpeg.regression.ref @@ -225,6 +229,7 @@ CODEC_TESTS = $(addprefix regtest-, \ adpcm_swf \ flac \ wma \ + pcm \ ) LAVF_TESTS = $(addprefix regtest-, \ @@ -275,6 +280,24 @@ LAVF_REG = tests/data/lavf.regression ROTOZOOM_REG = tests/data/rotozoom.regression VSYNTH_REG = tests/data/vsynth.regression +ifneq ($(CONFIG_SWSCALE),yes) +servertest codectest $(CODEC_TESTS) libavtest: swscale-error +swscale-error: + @echo + @echo "This regression test requires --enable-swscale." + @echo + @exit 1 +endif + +ifneq ($(CONFIG_ZLIB),yes) +regtest-flashsv codectest: zlib-error +endif +zlib-error: + @echo + @echo "This regression test requires zlib." + @echo + @exit 1 + codectest: $(VSYNTH_REG) $(ROTOZOOM_REG) diff -u -w $(FFMPEG_REFFILE) $(VSYNTH_REG) diff -u -w $(ROTOZOOM_REFFILE) $(ROTOZOOM_REG) @@ -298,14 +321,14 @@ $(CODEC_TESTS) $(LAVF_TESTS): regtest-ref regtest-ref: ffmpeg$(EXESUF) tests/vsynth1/00.pgm tests/vsynth2/00.pgm tests/asynth1.sw $(CODEC_TESTS) regtest-ref: tests/tiny_psnr$(EXESUF) - $(SRC_PATH)/tests/regression.sh $@ vsynth tests/vsynth1 a - $(SRC_PATH)/tests/regression.sh $@ rotozoom tests/vsynth2 a + $(SRC_PATH)/tests/regression.sh $@ vsynth tests/vsynth1 a "$(TARGET_EXEC)" "$(TARGET_PATH)" + $(SRC_PATH)/tests/regression.sh $@ rotozoom tests/vsynth2 a "$(TARGET_EXEC)" "$(TARGET_PATH)" $(LAVF_TESTS): - $(SRC_PATH)/tests/regression.sh $@ lavf tests/vsynth1 b + $(SRC_PATH)/tests/regression.sh $@ lavf tests/vsynth1 b "$(TARGET_EXEC)" "$(TARGET_PATH)" seektest: codectest libavtest tests/seek_test$(EXESUF) - $(SRC_PATH)/tests/seek_test.sh $(SEEK_REFFILE) + $(SRC_PATH)/tests/seek_test.sh $(SEEK_REFFILE) "$(TARGET_EXEC)" "$(TARGET_PATH)" servertest: ffserver$(EXESUF) tests/vsynth1/00.pgm tests/asynth1.sw @echo @@ -314,15 +337,6 @@ servertest: ffserver$(EXESUF) tests/vsynth1/00.pgm tests/asynth1.sw @echo $(SRC_PATH)/tests/server-regression.sh $(FFSERVER_REFFILE) $(SRC_PATH)/tests/test.conf -ifeq ($(CONFIG_SWSCALE),yes) -servertest codectest $(CODEC_TESTS) libavtest: swscale_error -swscale_error: - @echo - @echo "This regression test is incompatible with --enable-swscale." - @echo - @exit 1 -endif - tests/vsynth1/00.pgm: tests/videogen$(EXESUF) mkdir -p tests/vsynth1 $(BUILD_ROOT)/$< 'tests/vsynth1/' @@ -334,15 +348,13 @@ tests/vsynth2/00.pgm: tests/rotozoom$(EXESUF) tests/asynth1.sw: tests/audiogen$(EXESUF) $(BUILD_ROOT)/$< $@ -%$(EXESUF): %.c - $(CC) $(FF_LDFLAGS) $(CFLAGS) -o $@ $< +tests/%$(EXESUF): tests/%.c + $(HOSTCC) $(HOSTCFLAGS) $(HOSTLDFLAGS) -o $@ $< $(HOSTLIBS) tests/seek_test$(EXESUF): tests/seek_test.c $(FF_DEP_LIBS) $(CC) $(FF_LDFLAGS) $(CFLAGS) -o $@ $< $(FF_EXTRALIBS) -.PHONY: lib videohook documentation TAGS -.PHONY: codectest libavtest seektest servertest fulltest test -.PHONY: $(CODEC_TESTS) $(LAVF_TESTS) regtest-ref swscale-error +.PHONY: lib videohook documentation *test regtest-* swscale-error zlib-error alltools check -include $(VHOOK_DEPS)