OLD | NEW |
1 include config.mak | 1 include config.mak |
2 | 2 |
3 SRC_DIR = $(SRC_PATH_BARE) | 3 SRC_DIR = $(SRC_PATH_BARE) |
4 | 4 |
5 vpath %.texi $(SRC_PATH_BARE) | 5 vpath %.texi $(SRC_PATH_BARE) |
6 | 6 |
7 PROGS-$(CONFIG_FFMPEG) += ffmpeg | 7 PROGS-$(CONFIG_FFMPEG) += ffmpeg |
8 PROGS-$(CONFIG_FFPLAY) += ffplay | 8 PROGS-$(CONFIG_FFPLAY) += ffplay |
| 9 PROGS-$(CONFIG_FFPROBE) += ffprobe |
9 PROGS-$(CONFIG_FFSERVER) += ffserver | 10 PROGS-$(CONFIG_FFSERVER) += ffserver |
10 | 11 |
11 PROGS := $(addsuffix $(EXESUF), $(PROGS-yes)) | 12 PROGS := $(addsuffix $(EXESUF), $(PROGS-yes)) |
12 PROGS_G = $(addsuffix _g$(EXESUF), $(PROGS-yes)) | 13 PROGS_G = $(addsuffix _g$(EXESUF), $(PROGS-yes)) |
13 OBJS = $(addsuffix .o, $(PROGS-yes)) cmdutils.o | 14 OBJS = $(addsuffix .o, $(PROGS-yes)) cmdutils.o |
14 MANPAGES = $(addprefix doc/, $(addsuffix .1, $(PROGS-yes))) | 15 MANPAGES = $(addprefix doc/, $(addsuffix .1, $(PROGS-yes))) |
15 TOOLS = $(addprefix tools/, $(addsuffix $(EXESUF), cws2fws pktdumper probe
test qt-faststart trasher)) | 16 TOOLS = $(addprefix tools/, $(addsuffix $(EXESUF), cws2fws pktdumper probe
test qt-faststart trasher)) |
16 HOSTPROGS = $(addprefix tests/, audiogen videogen rotozoom tiny_psnr) | 17 HOSTPROGS = $(addprefix tests/, audiogen videogen rotozoom tiny_psnr) |
17 | 18 |
18 BASENAMES = ffmpeg ffplay ffserver | 19 BASENAMES = ffmpeg ffplay ffprobe ffserver |
19 ALLPROGS = $(addsuffix $(EXESUF), $(BASENAMES)) | 20 ALLPROGS = $(addsuffix $(EXESUF), $(BASENAMES)) |
20 ALLPROGS_G = $(addsuffix _g$(EXESUF), $(BASENAMES)) | 21 ALLPROGS_G = $(addsuffix _g$(EXESUF), $(BASENAMES)) |
21 ALLMANPAGES = $(addsuffix .1, $(BASENAMES)) | 22 ALLMANPAGES = $(addsuffix .1, $(BASENAMES)) |
22 | 23 |
23 FFLIBS-$(CONFIG_AVDEVICE) += avdevice | 24 FFLIBS-$(CONFIG_AVDEVICE) += avdevice |
24 FFLIBS-$(CONFIG_AVFILTER) += avfilter | 25 FFLIBS-$(CONFIG_AVFILTER) += avfilter |
25 FFLIBS-$(CONFIG_AVFORMAT) += avformat | 26 FFLIBS-$(CONFIG_AVFORMAT) += avformat |
26 FFLIBS-$(CONFIG_AVCODEC) += avcodec | 27 FFLIBS-$(CONFIG_AVCODEC) += avcodec |
27 FFLIBS-$(CONFIG_POSTPROC) += postproc | 28 FFLIBS-$(CONFIG_POSTPROC) += postproc |
28 FFLIBS-$(CONFIG_SWSCALE) += swscale | 29 FFLIBS-$(CONFIG_SWSCALE) += swscale |
29 | 30 |
30 FFLIBS := avutil | 31 FFLIBS := avutil |
31 | 32 |
32 DATA_FILES := $(wildcard $(SRC_DIR)/ffpresets/*.ffpreset) | 33 DATA_FILES := $(wildcard $(SRC_DIR)/ffpresets/*.ffpreset) |
33 | 34 |
| 35 SKIPHEADERS = cmdutils_common_opts.h |
| 36 |
34 include common.mak | 37 include common.mak |
35 | 38 |
36 FF_LDFLAGS := $(FFLDFLAGS) | 39 FF_LDFLAGS := $(FFLDFLAGS) |
37 FF_EXTRALIBS := $(FFEXTRALIBS) | 40 FF_EXTRALIBS := $(FFEXTRALIBS) |
38 FF_DEP_LIBS := $(DEP_LIBS) | 41 FF_DEP_LIBS := $(DEP_LIBS) |
39 | 42 |
40 ALL_TARGETS-$(CONFIG_DOC) += documentation | 43 ALL_TARGETS-$(CONFIG_DOC) += documentation |
41 | 44 |
42 ifdef PROGS | 45 ifdef PROGS |
43 INSTALL_TARGETS-yes += install-progs install-data | 46 INSTALL_TARGETS-yes += install-progs install-data |
44 INSTALL_TARGETS-$(CONFIG_DOC) += install-man | 47 INSTALL_TARGETS-$(CONFIG_DOC) += install-man |
45 endif | 48 endif |
46 INSTALL_PROGS_TARGETS-$(CONFIG_SHARED) = install-libs | 49 INSTALL_PROGS_TARGETS-$(CONFIG_SHARED) = install-libs |
47 | 50 |
48 all: $(FF_DEP_LIBS) $(PROGS) $(ALL_TARGETS-yes) | 51 all: $(FF_DEP_LIBS) $(PROGS) $(ALL_TARGETS-yes) |
49 | 52 |
50 $(PROGS): %$(EXESUF): %_g$(EXESUF) | 53 $(PROGS): %$(EXESUF): %_g$(EXESUF) |
51 » cp -p $< $@ | 54 » $(CP) $< $@ |
52 $(STRIP) $@ | 55 $(STRIP) $@ |
53 | 56 |
54 SUBDIR_VARS := OBJS FFLIBS CLEANFILES DIRS TESTPROGS EXAMPLES SKIPHEADERS \ | 57 SUBDIR_VARS := OBJS FFLIBS CLEANFILES DIRS TESTPROGS EXAMPLES SKIPHEADERS \ |
55 ALTIVEC-OBJS MMX-OBJS NEON-OBJS X86-OBJS YASM-OBJS-FFT YASM-OBJS
\ | 58 ALTIVEC-OBJS MMX-OBJS NEON-OBJS X86-OBJS YASM-OBJS-FFT YASM-OBJS
\ |
56 HOSTPROGS BUILT_HEADERS | 59 HOSTPROGS BUILT_HEADERS TESTOBJS ARCH_HEADERS |
57 | 60 |
58 define RESET | 61 define RESET |
59 $(1) := | 62 $(1) := |
60 $(1)-yes := | 63 $(1)-yes := |
61 endef | 64 endef |
62 | 65 |
63 define DOSUBDIR | 66 define DOSUBDIR |
64 $(foreach V,$(SUBDIR_VARS),$(eval $(call RESET,$(V)))) | 67 $(foreach V,$(SUBDIR_VARS),$(eval $(call RESET,$(V)))) |
65 SUBDIR := $(1)/ | 68 SUBDIR := $(1)/ |
66 include $(1)/Makefile | 69 include $(1)/Makefile |
(...skipping 13 matching lines...) Expand all Loading... |
80 tools/%.o: tools/%.c | 83 tools/%.o: tools/%.c |
81 $(CC) $(CPPFLAGS) $(CFLAGS) $(CC_O) $< | 84 $(CC) $(CPPFLAGS) $(CFLAGS) $(CC_O) $< |
82 | 85 |
83 ffplay.o ffplay.d: CFLAGS += $(SDL_CFLAGS) | 86 ffplay.o ffplay.d: CFLAGS += $(SDL_CFLAGS) |
84 | 87 |
85 cmdutils.o cmdutils.d: version.h | 88 cmdutils.o cmdutils.d: version.h |
86 | 89 |
87 alltools: $(TOOLS) | 90 alltools: $(TOOLS) |
88 | 91 |
89 documentation: $(addprefix doc/, developer.html faq.html ffmpeg-doc.html \ | 92 documentation: $(addprefix doc/, developer.html faq.html ffmpeg-doc.html \ |
90 ffplay-doc.html ffserver-doc.html \ | 93 ffplay-doc.html ffprobe-doc.html ffserver-doc.h
tml \ |
91 general.html libavfilter.html $(ALLMANPAGES)) | 94 general.html libavfilter.html $(ALLMANPAGES)) |
92 | 95 |
93 doc/%.html: doc/%.texi | 96 doc/%.html: doc/%.texi |
94 texi2html -monolithic -number $< | 97 texi2html -monolithic -number $< |
95 mv $(@F) $@ | 98 mv $(@F) $@ |
96 | 99 |
97 doc/%.pod: doc/%-doc.texi | 100 doc/%.pod: doc/%-doc.texi |
98 doc/texi2pod.pl $< $@ | 101 doc/texi2pod.pl $< $@ |
99 | 102 |
100 doc/%.1: doc/%.pod | 103 doc/%.1: doc/%.pod |
101 pod2man --section=1 --center=" " --release=" " $< > $@ | 104 pod2man --section=1 --center=" " --release=" " $< > $@ |
102 | 105 |
103 install: $(INSTALL_TARGETS-yes) | 106 install: $(INSTALL_TARGETS-yes) |
104 | 107 |
105 install-progs: $(PROGS) $(INSTALL_PROGS_TARGETS-yes) | 108 install-progs: $(PROGS) $(INSTALL_PROGS_TARGETS-yes) |
106 » install -d "$(BINDIR)" | 109 » $(Q)mkdir -p "$(BINDIR)" |
107 » install -c -m 755 $(PROGS) "$(BINDIR)" | 110 » $(INSTALL) -c -m 755 $(PROGS) "$(BINDIR)" |
108 | 111 |
109 install-data: $(DATA_FILES) | 112 install-data: $(DATA_FILES) |
110 » install -d "$(DATADIR)" | 113 » $(Q)mkdir -p "$(DATADIR)" |
111 » install -m 644 $(DATA_FILES) "$(DATADIR)" | 114 » $(INSTALL) -m 644 $(DATA_FILES) "$(DATADIR)" |
112 | 115 |
113 install-man: $(MANPAGES) | 116 install-man: $(MANPAGES) |
114 » install -d "$(MANDIR)/man1" | 117 » $(Q)mkdir -p "$(MANDIR)/man1" |
115 » install -m 644 $(MANPAGES) "$(MANDIR)/man1" | 118 » $(INSTALL) -m 644 $(MANPAGES) "$(MANDIR)/man1" |
116 | 119 |
117 uninstall: uninstall-progs uninstall-data uninstall-man | 120 uninstall: uninstall-progs uninstall-data uninstall-man |
118 | 121 |
119 uninstall-progs: | 122 uninstall-progs: |
120 » rm -f $(addprefix "$(BINDIR)/", $(ALLPROGS)) | 123 » $(RM) $(addprefix "$(BINDIR)/", $(ALLPROGS)) |
121 | 124 |
122 uninstall-data: | 125 uninstall-data: |
123 » rm -rf "$(DATADIR)" | 126 » $(RM) -r "$(DATADIR)" |
124 | 127 |
125 uninstall-man: | 128 uninstall-man: |
126 » rm -f $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES)) | 129 » $(RM) $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES)) |
127 | 130 |
128 testclean: | 131 testclean: |
129 » rm -rf tests/vsynth1 tests/vsynth2 tests/data tests/*~ | 132 » $(RM) -r tests/vsynth1 tests/vsynth2 tests/data |
| 133 » $(RM) $(addprefix tests/,$(CLEANSUFFIXES)) |
| 134 » $(RM) tests/seek_test$(EXESUF) tests/seek_test.o |
| 135 » $(RM) $(addprefix tests/,$(addsuffix $(HOSTEXESUF),audiogen videogen rot
ozoom tiny_psnr)) |
130 | 136 |
131 clean:: testclean | 137 clean:: testclean |
132 » rm -f $(ALLPROGS) $(ALLPROGS_G) | 138 » $(RM) $(ALLPROGS) $(ALLPROGS_G) |
133 » rm -f $(CLEANSUFFIXES) | 139 » $(RM) $(CLEANSUFFIXES) |
134 » rm -f doc/*.html doc/*.pod doc/*.1 | 140 » $(RM) doc/*.html doc/*.pod doc/*.1 |
135 » rm -f tests/seek_test$(EXESUF) tests/seek_test.o | 141 » $(RM) $(TOOLS) |
136 » rm -f $(addprefix tests/,$(addsuffix $(HOSTEXESUF),audiogen videogen rot
ozoom tiny_psnr)) | |
137 » rm -f $(TOOLS) | |
138 | 142 |
139 distclean:: | 143 distclean:: |
140 » rm -f $(DISTCLEANSUFFIXES) | 144 » $(RM) $(DISTCLEANSUFFIXES) |
141 » rm -f version.h config.* | 145 » $(RM) version.h config.* libavutil/avconfig.h |
142 | 146 |
143 config: | 147 config: |
144 $(SRC_PATH)/configure $(value FFMPEG_CONFIGURATION) | 148 $(SRC_PATH)/configure $(value FFMPEG_CONFIGURATION) |
145 | 149 |
146 # regression tests | 150 # regression tests |
147 | 151 |
148 check: test checkheaders | 152 check: test checkheaders |
149 | 153 |
150 fulltest test: codectest lavftest seektest | 154 fulltest test: codectest lavftest seektest |
151 | 155 |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 # lavfitest: $(LAVFI_TESTS) | 251 # lavfitest: $(LAVFI_TESTS) |
248 | 252 |
249 $(ACODEC_TESTS): regtest-aref | 253 $(ACODEC_TESTS): regtest-aref |
250 $(VCODEC_TESTS): regtest-vref | 254 $(VCODEC_TESTS): regtest-vref |
251 $(LAVF_TESTS) $(LAVFI_TESTS): regtest-ref | 255 $(LAVF_TESTS) $(LAVFI_TESTS): regtest-ref |
252 | 256 |
253 REFFILE = $(SRC_PATH)/tests/ref/$(1)/$(2:regtest-%=%) | 257 REFFILE = $(SRC_PATH)/tests/ref/$(1)/$(2:regtest-%=%) |
254 RESFILE = tests/data/$(2:regtest-%=%).$(1).regression | 258 RESFILE = tests/data/$(2:regtest-%=%).$(1).regression |
255 | 259 |
256 define CODECTEST_CMD | 260 define CODECTEST_CMD |
257 » $(SRC_PATH)/tests/codec-regression.sh $@ vsynth1 tests/vsynth1 a "$(TARG
ET_EXEC)" "$(TARGET_PATH)" | 261 » $(SRC_PATH)/tests/codec-regression.sh $@ vsynth1 tests/vsynth1 "$(TARGET
_EXEC)" "$(TARGET_PATH)" |
258 » $(SRC_PATH)/tests/codec-regression.sh $@ vsynth2 tests/vsynth2 a "$(TARG
ET_EXEC)" "$(TARGET_PATH)" | 262 » $(SRC_PATH)/tests/codec-regression.sh $@ vsynth2 tests/vsynth2 "$(TARGET
_EXEC)" "$(TARGET_PATH)" |
259 endef | 263 endef |
260 | 264 |
261 regtest-ref: regtest-aref regtest-vref | 265 regtest-ref: regtest-aref regtest-vref |
262 | 266 |
263 regtest-vref: ffmpeg$(EXESUF) tests/vsynth1/00.pgm tests/vsynth2/00.pgm | 267 regtest-vref: ffmpeg$(EXESUF) tests/vsynth1/00.pgm tests/vsynth2/00.pgm |
264 $(CODECTEST_CMD) | 268 $(CODECTEST_CMD) |
265 | 269 |
266 regtest-aref: ffmpeg$(EXESUF) tests/data/asynth1.sw | 270 regtest-aref: ffmpeg$(EXESUF) tests/data/asynth1.sw |
267 » @$(SRC_PATH)/tests/codec-regression.sh $@ acodec tests/acodec a "$(TARGE
T_EXEC)" "$(TARGET_PATH)" | 271 » @$(SRC_PATH)/tests/codec-regression.sh $@ acodec tests/acodec "$(TARGET_
EXEC)" "$(TARGET_PATH)" |
268 | 272 |
269 $(VCODEC_TESTS): tests/tiny_psnr$(HOSTEXESUF) | 273 $(VCODEC_TESTS): tests/tiny_psnr$(HOSTEXESUF) |
270 @echo "TEST VCODEC $(@:regtest-%=%)" | 274 @echo "TEST VCODEC $(@:regtest-%=%)" |
271 @$(CODECTEST_CMD) | 275 @$(CODECTEST_CMD) |
272 @diff -u -w $(call REFFILE,vsynth1,$@) $(call RESFILE,vsynth1,$@) | 276 @diff -u -w $(call REFFILE,vsynth1,$@) $(call RESFILE,vsynth1,$@) |
273 @diff -u -w $(call REFFILE,vsynth2,$@) $(call RESFILE,vsynth2,$@) | 277 @diff -u -w $(call REFFILE,vsynth2,$@) $(call RESFILE,vsynth2,$@) |
274 | 278 |
275 $(ACODEC_TESTS): tests/tiny_psnr$(HOSTEXESUF) | 279 $(ACODEC_TESTS): tests/tiny_psnr$(HOSTEXESUF) |
276 @echo "TEST ACODEC $(@:regtest-%=%)" | 280 @echo "TEST ACODEC $(@:regtest-%=%)" |
277 » @$(SRC_PATH)/tests/codec-regression.sh $@ acodec tests/acodec a "$(TARGE
T_EXEC)" "$(TARGET_PATH)" | 281 » @$(SRC_PATH)/tests/codec-regression.sh $@ acodec tests/acodec "$(TARGET_
EXEC)" "$(TARGET_PATH)" |
278 @diff -u -w $(call REFFILE,acodec,$@) $(call RESFILE,acodec,$@) | 282 @diff -u -w $(call REFFILE,acodec,$@) $(call RESFILE,acodec,$@) |
279 | 283 |
280 $(LAVF_TESTS): | 284 $(LAVF_TESTS): |
281 @echo "TEST LAVF $(@:regtest-%=%)" | 285 @echo "TEST LAVF $(@:regtest-%=%)" |
282 » @$(SRC_PATH)/tests/lavf-regression.sh $@ lavf tests/vsynth1 b "$(TARGET_
EXEC)" "$(TARGET_PATH)" | 286 » @$(SRC_PATH)/tests/lavf-regression.sh $@ lavf tests/vsynth1 "$(TARGET_EX
EC)" "$(TARGET_PATH)" |
283 @diff -u -w $(call REFFILE,lavf,$@) $(call RESFILE,lavf,$@) | 287 @diff -u -w $(call REFFILE,lavf,$@) $(call RESFILE,lavf,$@) |
284 | 288 |
285 $(LAVFI_TESTS): | 289 $(LAVFI_TESTS): |
286 @echo "TEST LAVFI $(@:regtest-%=%)" | 290 @echo "TEST LAVFI $(@:regtest-%=%)" |
287 » @$(SRC_PATH)/tests/lavfi-regression.sh $@ lavfi tests/vsynth1 b "$(TARGE
T_EXEC)" "$(TARGET_PATH)" | 291 » @$(SRC_PATH)/tests/lavfi-regression.sh $@ lavfi tests/vsynth1 "$(TARGET_
EXEC)" "$(TARGET_PATH)" |
288 @diff -u -w $(call REFFILE,lavfi,$@) $(call RESFILE,lavfi,$@) | 292 @diff -u -w $(call REFFILE,lavfi,$@) $(call RESFILE,lavfi,$@) |
289 | 293 |
290 seektest: codectest lavftest tests/seek_test$(EXESUF) | 294 seektest: codectest lavftest tests/seek_test$(EXESUF) |
291 » $(SRC_PATH)/tests/seek-regression.sh $(SEEK_REFFILE) "$(TARGET_EXEC)" "$
(TARGET_PATH)" | 295 » $(SRC_PATH)/tests/seek-regression.sh $(SRC_PATH) "$(TARGET_EXEC)" "$(TAR
GET_PATH)" |
292 | 296 |
293 ffservertest: ffserver$(EXESUF) tests/vsynth1/00.pgm tests/data/asynth1.sw | 297 ffservertest: ffserver$(EXESUF) tests/vsynth1/00.pgm tests/data/asynth1.sw |
294 @echo | 298 @echo |
295 @echo "Unfortunately ffserver is broken and therefore its regression" | 299 @echo "Unfortunately ffserver is broken and therefore its regression" |
296 @echo "test fails randomly. Treat the results accordingly." | 300 @echo "test fails randomly. Treat the results accordingly." |
297 @echo | 301 @echo |
298 $(SRC_PATH)/tests/ffserver-regression.sh $(FFSERVER_REFFILE) $(SRC_PATH)
/tests/ffserver.conf | 302 $(SRC_PATH)/tests/ffserver-regression.sh $(FFSERVER_REFFILE) $(SRC_PATH)
/tests/ffserver.conf |
299 | 303 |
300 tests/vsynth1/00.pgm: tests/videogen$(HOSTEXESUF) | 304 tests/vsynth1/00.pgm: tests/videogen$(HOSTEXESUF) |
301 mkdir -p tests/vsynth1 | 305 mkdir -p tests/vsynth1 |
302 $(BUILD_ROOT)/$< 'tests/vsynth1/' | 306 $(BUILD_ROOT)/$< 'tests/vsynth1/' |
303 | 307 |
304 tests/vsynth2/00.pgm: tests/rotozoom$(HOSTEXESUF) | 308 tests/vsynth2/00.pgm: tests/rotozoom$(HOSTEXESUF) |
305 mkdir -p tests/vsynth2 | 309 mkdir -p tests/vsynth2 |
306 $(BUILD_ROOT)/$< 'tests/vsynth2/' $(SRC_PATH)/tests/lena.pnm | 310 $(BUILD_ROOT)/$< 'tests/vsynth2/' $(SRC_PATH)/tests/lena.pnm |
307 | 311 |
308 tests/data/asynth1.sw: tests/audiogen$(HOSTEXESUF) | 312 tests/data/asynth1.sw: tests/audiogen$(HOSTEXESUF) |
309 mkdir -p tests/data | 313 mkdir -p tests/data |
310 $(BUILD_ROOT)/$< $@ | 314 $(BUILD_ROOT)/$< $@ |
311 | 315 |
312 tests/seek_test$(EXESUF): tests/seek_test.o $(FF_DEP_LIBS) | 316 tests/seek_test$(EXESUF): tests/seek_test.o $(FF_DEP_LIBS) |
313 $(LD) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS) | 317 $(LD) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS) |
314 | 318 |
315 | 319 |
316 .PHONY: documentation *test regtest-* zlib-error alltools check config | 320 .PHONY: documentation *test regtest-* zlib-error alltools check config |
OLD | NEW |