Makefile 15 KB
Newer Older
1
#
Fabrice Bellard's avatar
merge  
Fabrice Bellard committed
2
# Main ffmpeg Makefile
3
# (c) 2000-2004 Fabrice Bellard
Fabrice Bellard's avatar
merge  
Fabrice Bellard committed
4
#
5
include config.mak
Fabrice Bellard's avatar
merge  
Fabrice Bellard committed
6

7 8 9
vpath %.c    $(SRC_PATH_BARE)
vpath %.h    $(SRC_PATH_BARE)
vpath %.texi $(SRC_PATH_BARE)
10

11
CFLAGS=$(OPTFLAGS) -I$(BUILD_ROOT) -I$(SRC_PATH) -I$(SRC_PATH)/libavutil \
12
       -I$(SRC_PATH)/libavcodec -I$(SRC_PATH)/libavformat -I$(SRC_PATH)/libswscale \
13
       -I$(SRC_PATH)/libavdevice -I$(SRC_PATH)/libavfilter \
14
       -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -DHAVE_AV_CONFIG_H
15
LDFLAGS+= -g
16

Måns Rullgård's avatar
Måns Rullgård committed
17 18 19
PROGS-$(CONFIG_FFMPEG)   += ffmpeg
PROGS-$(CONFIG_FFPLAY)   += ffplay
PROGS-$(CONFIG_FFSERVER) += ffserver
Fabrice Bellard's avatar
Fabrice Bellard committed
20

Diego Biurrun's avatar
Diego Biurrun committed
21 22 23
PROGS       = $(addsuffix   $(EXESUF), $(PROGS-yes))
PROGS_G     = $(addsuffix _g$(EXESUF), $(PROGS-yes))
MANPAGES    = $(addprefix doc/, $(addsuffix .1, $(PROGS-yes)))
Fabrice Bellard's avatar
merge  
Fabrice Bellard committed
24

Diego Biurrun's avatar
Diego Biurrun committed
25 26 27 28
BASENAMES   = ffmpeg ffplay ffserver
ALLPROGS    = $(addsuffix   $(EXESUF), $(BASENAMES))
ALLPROGS_G  = $(addsuffix _g$(EXESUF), $(BASENAMES))
ALLMANPAGES = $(addsuffix .1, $(BASENAMES))
29

Nick Kurshev's avatar
Nick Kurshev committed
30
ifeq ($(BUILD_SHARED),yes)
Luca Abeni's avatar
Luca Abeni committed
31
DEP_LIBS=libavcodec/$(SLIBPREF)avcodec$(SLIBSUF) libavformat/$(SLIBPREF)avformat$(SLIBSUF) libavdevice/$(SLIBPREF)avdevice$(SLIBSUF)
Nick Kurshev's avatar
Nick Kurshev committed
32
else
Luca Abeni's avatar
Luca Abeni committed
33
DEP_LIBS=libavcodec/$(LIBPREF)avcodec$(LIBSUF) libavformat/$(LIBPREF)avformat$(LIBSUF) libavdevice/$(LIBPREF)avdevice$(LIBSUF)
34 35
endif

Måns Rullgård's avatar
Måns Rullgård committed
36 37 38 39
ALL_TARGETS-$(CONFIG_VHOOK) += videohook
ALL_TARGETS-$(BUILD_DOC)    += documentation

INSTALL_TARGETS-$(CONFIG_VHOOK) += install-vhook
40 41
ifneq ($(PROGS),)
INSTALL_TARGETS-yes             += install-progs
42
INSTALL_TARGETS-$(BUILD_DOC)    += install-man
43
endif
Måns Rullgård's avatar
Måns Rullgård committed
44

45
VHOOKCFLAGS += $(filter-out -mdynamic-no-pic,$(CFLAGS))
Måns Rullgård's avatar
Måns Rullgård committed
46 47 48 49 50 51 52 53 54 55 56 57

BASEHOOKS = fish null watermark
ALLHOOKS = $(BASEHOOKS) drawtext imlib2 ppm
ALLHOOKS_SRCS = $(addprefix vhook/, $(addsuffix .c, $(ALLHOOKS)))

HOOKS-$(HAVE_FORK)      += ppm
HOOKS-$(HAVE_IMLIB2)    += imlib2
HOOKS-$(HAVE_FREETYPE2) += drawtext

HOOKS = $(addprefix vhook/, $(addsuffix $(SLIBSUF), $(BASEHOOKS) $(HOOKS-yes)))

VHOOKCFLAGS-$(HAVE_IMLIB2) += `imlib2-config --cflags`
Måns Rullgård's avatar
Måns Rullgård committed
58
LIBS_imlib2$(SLIBSUF)       = `imlib2-config --libs`
Måns Rullgård's avatar
Måns Rullgård committed
59 60

VHOOKCFLAGS-$(HAVE_FREETYPE2) += `freetype-config --cflags`
Måns Rullgård's avatar
Måns Rullgård committed
61
LIBS_drawtext$(SLIBSUF)        = `freetype-config --libs`
Måns Rullgård's avatar
Måns Rullgård committed
62 63

VHOOKCFLAGS += $(VHOOKCFLAGS-yes)
64

65
SRCS = $(addsuffix .c, $(PROGS-yes)) cmdutils.c
Luca Abeni's avatar
Luca Abeni committed
66 67
LDFLAGS := -L$(BUILD_ROOT)/libavdevice -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libavutil $(LDFLAGS)
EXTRALIBS := -lavdevice$(BUILDSUF) -lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lavutil$(BUILDSUF) $(EXTRALIBS)
Zdenek Kabelac's avatar
Zdenek Kabelac committed
68

Luca Abeni's avatar
Luca Abeni committed
69
ifeq ($(CONFIG_SWSCALER),yes)
70
LDFLAGS+=-L$(BUILD_ROOT)/libswscale
Diego Biurrun's avatar
Diego Biurrun committed
71
EXTRALIBS+=-lswscale$(BUILDSUF)
Luca Abeni's avatar
Luca Abeni committed
72 73
endif

74 75 76 77 78
ifeq ($(CONFIG_AVFILTER),yes)
LDFLAGS+=-L$(BUILD_ROOT)/libavfilter
EXTRALIBS := -lavfilter$(BUILDSUF) $(EXTRALIBS)
endif

79 80 81
MAKE-yes = $(MAKE)
MAKE-    = : $(MAKE)

Måns Rullgård's avatar
Måns Rullgård committed
82
all: lib $(PROGS) $(ALL_TARGETS-yes)
Fabrice Bellard's avatar
merge  
Fabrice Bellard committed
83

Fabrice Bellard's avatar
Fabrice Bellard committed
84
lib:
Måns Rullgård's avatar
Måns Rullgård committed
85 86 87 88 89
	$(MAKE)                    -C libavutil   all
	$(MAKE)                    -C libavcodec  all
	$(MAKE)                    -C libavformat all
	$(MAKE)                    -C libavdevice all
	$(MAKE-$(CONFIG_PP))       -C libpostproc all
90
	$(MAKE-$(CONFIG_SWSCALER)) -C libswscale  all
91
	$(MAKE-$(CONFIG_AVFILTER)) -C libavfilter all
Fabrice Bellard's avatar
merge  
Fabrice Bellard committed
92

Fabrice Bellard's avatar
Fabrice Bellard committed
93
ffmpeg_g$(EXESUF): ffmpeg.o cmdutils.o .libs
Diego Biurrun's avatar
Diego Biurrun committed
94
	$(CC) $(LDFLAGS) -o $@ ffmpeg.o cmdutils.o $(EXTRALIBS)
Fabrice Bellard's avatar
merge  
Fabrice Bellard committed
95

96 97
ffserver$(EXESUF): ffserver.o cmdutils.o .libs
	$(CC) $(LDFLAGS) $(FFSERVERLDFLAGS) -o $@ ffserver.o cmdutils.o $(EXTRALIBS)
Fabrice Bellard's avatar
merge  
Fabrice Bellard committed
98

Fabrice Bellard's avatar
Fabrice Bellard committed
99
ffplay_g$(EXESUF): ffplay.o cmdutils.o .libs
Diego Biurrun's avatar
Diego Biurrun committed
100
	$(CC) $(LDFLAGS) -o $@ ffplay.o cmdutils.o $(EXTRALIBS) $(SDL_LIBS)
Fabrice Bellard's avatar
Fabrice Bellard committed
101

102
%$(EXESUF): %_g$(EXESUF)
Fabrice Bellard's avatar
Fabrice Bellard committed
103 104 105
	cp -p $< $@
	$(STRIP) $@

106 107 108 109 110
SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries
ifeq ($(wildcard $(SVN_ENTRIES)),$(SVN_ENTRIES))
version.h: $(SVN_ENTRIES)
endif

111
version.h:
112
	$(SRC_PATH)/version.sh $(SRC_PATH)
113

Fabrice Bellard's avatar
Fabrice Bellard committed
114
output_example$(EXESUF): output_example.o .libs
115
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(EXTRALIBS)
116

117 118
tools/%$(EXESUF): tools/%.c
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(EXTRALIBS)
119

120
ffplay.o: CFLAGS += $(SDL_CFLAGS)
Fabrice Bellard's avatar
Fabrice Bellard committed
121

122 123
ffmpeg.o ffplay.o ffserver.o: version.h

124
videohook: $(HOOKS)
125 126

vhook/%$(SLIBSUF): vhook/%.o
127
	$(CC) $(LDFLAGS) -o $@ $(VHOOKSHFLAGS) $< $(VHOOKLIBS) $(LIBS_$(@F))
128

129 130 131 132 133
vhook/%.o: vhook/%.c
	$(CC) $(VHOOKCFLAGS) -c -o $@ $<

%.o: %.c
	$(CC) $(CFLAGS) -c -o $@ $<
134

135
documentation: $(addprefix doc/, ffmpeg-doc.html faq.html ffserver-doc.html \
136 137
                                 ffplay-doc.html general.html hooks.html \
                                 $(ALLMANPAGES))
138 139 140 141 142 143 144 145 146 147

doc/%.html: doc/%.texi
	texi2html -monolithic -number $<
	mv $(@F) $@

doc/%.pod: doc/%-doc.texi
	doc/texi2pod.pl $< $@

doc/%.1: doc/%.pod
	pod2man --section=1 --center=" " --release=" " $< > $@
148

149
install: install-libs install-headers $(INSTALL_TARGETS-yes)
150

151
ifeq ($(BUILD_SHARED),yes)
152
install-progs: install-libs
153
endif
154
install-progs: $(PROGS)
155 156
	install -d "$(BINDIR)"
	install -c -m 755 $(PROGS) "$(BINDIR)"
Fabrice Bellard's avatar
merge  
Fabrice Bellard committed
157

Diego Biurrun's avatar
Diego Biurrun committed
158
# Create the Windows installer.
Fabrice Bellard's avatar
Fabrice Bellard committed
159 160 161
wininstaller: all install
	makensis ffinstall.nsi

162
install-man:
163 164
	install -d "$(MANDIR)/man1"
	install -m 644 $(MANPAGES) "$(MANDIR)/man1"
165

166
install-vhook: videohook
167 168
	install -d "$(SHLIBDIR)/vhook"
	install -m 755 $(HOOKS) "$(SHLIBDIR)/vhook"
169

170
install-libs:
Måns Rullgård's avatar
Måns Rullgård committed
171 172 173 174 175
	$(MAKE)                    -C libavutil   install-libs
	$(MAKE)                    -C libavcodec  install-libs
	$(MAKE)                    -C libavformat install-libs
	$(MAKE)                    -C libavdevice install-libs
	$(MAKE-$(CONFIG_PP))       -C libpostproc install-libs
176
	$(MAKE-$(CONFIG_SWSCALER)) -C libswscale  install-libs
177

178
install-headers:
Måns Rullgård's avatar
Måns Rullgård committed
179 180 181 182
	$(MAKE)              -C libavutil   install-headers
	$(MAKE)              -C libavcodec  install-headers
	$(MAKE)              -C libavformat install-headers
	$(MAKE)              -C libavdevice install-headers
183
	$(MAKE-$(CONFIG_PP)) -C libpostproc install-headers
Måns Rullgård's avatar
Måns Rullgård committed
184
	$(MAKE)              -C libswscale  install-headers
185
	$(MAKE-$(CONFIG_AVFILTER)) -C libavfilter install-headers
186

Diego Biurrun's avatar
Diego Biurrun committed
187 188 189
uninstall: uninstall-progs uninstall-libs uninstall-headers uninstall-man uninstall-vhook

uninstall-progs:
190
	rm -f $(addprefix "$(BINDIR)/", $(ALLPROGS))
Diego Biurrun's avatar
Diego Biurrun committed
191 192

uninstall-man:
193
	rm -f $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES))
Diego Biurrun's avatar
Diego Biurrun committed
194 195

uninstall-vhook:
196
	rm -f $(addprefix "$(SHLIBDIR)/",$(ALLHOOKS_SRCS:.c=$(SLIBSUF)))
197
	-rmdir "$(SHLIBDIR)/vhook/"
Diego Biurrun's avatar
Diego Biurrun committed
198 199 200 201 202

uninstall-libs:
	$(MAKE) -C libavutil   uninstall-libs
	$(MAKE) -C libavcodec  uninstall-libs
	$(MAKE) -C libavformat uninstall-libs
Luca Abeni's avatar
Luca Abeni committed
203
	$(MAKE) -C libavdevice uninstall-libs
204
	$(MAKE) -C libpostproc uninstall-libs
205
	$(MAKE) -C libswscale  uninstall-libs
206
	$(MAKE) -C libavfilter uninstall-libs
Diego Biurrun's avatar
Diego Biurrun committed
207 208 209 210 211

uninstall-headers:
	$(MAKE) -C libavutil   uninstall-headers
	$(MAKE) -C libavcodec  uninstall-headers
	$(MAKE) -C libavformat uninstall-headers
Luca Abeni's avatar
Luca Abeni committed
212
	$(MAKE) -C libavdevice uninstall-headers
213
	$(MAKE) -C libpostproc uninstall-headers
214
	$(MAKE) -C libswscale  uninstall-headers
215
	$(MAKE) -C libavfilter uninstall-headers
216
	-rmdir "$(INCDIR)"
Diego Biurrun's avatar
Diego Biurrun committed
217

218
depend dep: .depend .vhookdep
Måns Rullgård's avatar
Måns Rullgård committed
219 220 221 222 223
	$(MAKE)                    -C libavutil   depend
	$(MAKE)                    -C libavcodec  depend
	$(MAKE)                    -C libavformat depend
	$(MAKE)                    -C libavdevice depend
	$(MAKE-$(CONFIG_PP))       -C libpostproc depend
224
	$(MAKE-$(CONFIG_SWSCALER)) -C libswscale  depend
225
	$(MAKE-$(CONFIG_AVFILTER)) -C libavfilter depend
226

227
.depend: $(SRCS) version.h
228
	$(CC) -MM $(CFLAGS) $(SDL_CFLAGS) $(filter-out %.h,$^) 1>.depend
229

Diego Biurrun's avatar
Diego Biurrun committed
230
# gcc stupidly only outputs the basename of targets with -MM
231
.vhookdep: $(ALLHOOKS_SRCS) version.h
232
	$(CC) $(VHOOKCFLAGS) -MM $^ | sed 's,^\([a-z]\),vhook/\1,' > $@
Zdenek Kabelac's avatar
Zdenek Kabelac committed
233

234 235 236 237
$(DEP_LIBS): lib

.libs: $(DEP_LIBS)
	touch $@
238

239
clean:
240 241
	$(MAKE) -C libavutil   clean
	$(MAKE) -C libavcodec  clean
Fabrice Bellard's avatar
Fabrice Bellard committed
242
	$(MAKE) -C libavformat clean
Luca Abeni's avatar
Luca Abeni committed
243
	$(MAKE) -C libavdevice clean
244
	$(MAKE) -C libpostproc clean
Luca Abeni's avatar
Luca Abeni committed
245
	$(MAKE) -C libswscale  clean
246
	$(MAKE) -C libavfilter clean
247
	rm -f *.o *~ .libs gmon.out TAGS $(ALLPROGS) $(ALLPROGS_G) \
248
	   output_example$(EXESUF)
249
	rm -f doc/*.html doc/*.pod doc/*.1
250 251
	rm -rf tests/vsynth1 tests/vsynth2 tests/data tests/asynth1.sw tests/*~
	rm -f $(addprefix tests/,$(addsuffix $(EXESUF),audiogen videogen rotozoom seek_test tiny_psnr))
252
	rm -f $(addprefix tools/,$(addsuffix $(EXESUF),cws2fws pktdumper qt-faststart trasher))
253
	rm -f vhook/*.o vhook/*~ vhook/*.so vhook/*.dylib vhook/*.dll
254

Fabrice Bellard's avatar
merge  
Fabrice Bellard committed
255
distclean: clean
256 257 258
	$(MAKE) -C libavutil   distclean
	$(MAKE) -C libavcodec  distclean
	$(MAKE) -C libavformat distclean
Luca Abeni's avatar
Luca Abeni committed
259
	$(MAKE) -C libavdevice distclean
260
	$(MAKE) -C libpostproc distclean
Luca Abeni's avatar
Luca Abeni committed
261
	$(MAKE) -C libswscale  distclean
262
	$(MAKE) -C libavfilter distclean
263
	rm -f .depend .vhookdep version.h config.* *.pc
Fabrice Bellard's avatar
merge  
Fabrice Bellard committed
264 265

TAGS:
Fabrice Bellard's avatar
Fabrice Bellard committed
266
	etags *.[ch] libavformat/*.[ch] libavcodec/*.[ch]
Zdenek Kabelac's avatar
Zdenek Kabelac committed
267

268 269
# regression tests

270 271 272 273 274 275 276 277
fulltest test: codectest libavtest seektest

FFMPEG_REFFILE   = $(SRC_PATH)/tests/ffmpeg.regression.ref
FFSERVER_REFFILE = $(SRC_PATH)/tests/ffserver.regression.ref
LIBAV_REFFILE    = $(SRC_PATH)/tests/libav.regression.ref
ROTOZOOM_REFFILE = $(SRC_PATH)/tests/rotozoom.regression.ref
SEEK_REFFILE     = $(SRC_PATH)/tests/seek.regression.ref

278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315
CODEC_TESTS = $(addprefix regtest-,             \
        mpeg                                    \
        mpeg2                                   \
        mpeg2thread                             \
        msmpeg4v2                               \
        msmpeg4                                 \
        wmv1                                    \
        wmv2                                    \
        h261                                    \
        h263                                    \
        h263p                                   \
        mpeg4                                   \
        huffyuv                                 \
        rc                                      \
        mpeg4adv                                \
        mpeg4thread                             \
        error                                   \
        mpeg4nr                                 \
        mpeg1b                                  \
        mjpeg                                   \
        ljpeg                                   \
        jpegls                                  \
        rv10                                    \
        rv20                                    \
        asv1                                    \
        asv2                                    \
        flv                                     \
        ffv1                                    \
        snow                                    \
        snowll                                  \
        dv                                      \
        dv50                                    \
        svq1                                    \
        flashsv                                 \
        mp2                                     \
        ac3                                     \
        g726                                    \
        adpcm_ima_wav                           \
316
        adpcm_ima_qt                            \
317 318 319 320 321 322 323
        adpcm_ms                                \
        adpcm_yam                               \
        adpcm_swf                               \
        flac                                    \
        wma                                     \
    )

Måns Rullgård's avatar
Måns Rullgård committed
324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359
LAVF_TESTS = $(addprefix regtest-,              \
        avi                                     \
        asf                                     \
        rm                                      \
        mpg                                     \
        ts                                      \
        swf                                     \
        ffm                                     \
        flv_fmt                                 \
        mov                                     \
        dv_fmt                                  \
        gxf                                     \
        nut                                     \
        mkv                                     \
        pbmpipe                                 \
        pgmpipe                                 \
        ppmpipe                                 \
        gif                                     \
        yuv4mpeg                                \
        pgm                                     \
        ppm                                     \
        bmp                                     \
        tga                                     \
        tiff                                    \
        sgi                                     \
        jpg                                     \
        wav                                     \
        alaw                                    \
        mulaw                                   \
        au                                      \
        mmf                                     \
        aiff                                    \
        voc                                     \
        ogg                                     \
        pixfmt                                  \
    )
360 361 362 363 364 365 366 367 368 369 370 371 372

REGFILES = $(addprefix tests/data/,$(addsuffix .$(1),$(2:regtest-%=%)))

CODEC_ROTOZOOM = $(call REGFILES,rotozoom.regression,$(CODEC_TESTS))
CODEC_VSYNTH   = $(call REGFILES,vsynth.regression,$(CODEC_TESTS))

LAVF_REGFILES = $(call REGFILES,lavf.regression,$(LAVF_TESTS))

LAVF_REG     = tests/data/lavf.regression
ROTOZOOM_REG = tests/data/rotozoom.regression
VSYNTH_REG   = tests/data/vsynth.regression

codectest: $(VSYNTH_REG) $(ROTOZOOM_REG)
373 374
	diff -u -w $(FFMPEG_REFFILE)   $(VSYNTH_REG)
	diff -u -w $(ROTOZOOM_REFFILE) $(ROTOZOOM_REG)
375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394

libavtest: $(LAVF_REG)
	diff -u -w $(LIBAV_REFFILE) $(LAVF_REG)

$(VSYNTH_REG) $(ROTOZOOM_REG) $(LAVF_REG):
	cat $^ > $@

$(LAVF_REG):     $(LAVF_REGFILES)
$(ROTOZOOM_REG): $(CODEC_ROTOZOOM)
$(VSYNTH_REG):   $(CODEC_VSYNTH)

$(CODEC_VSYNTH) $(CODEC_ROTOZOOM): $(CODEC_TESTS)

$(LAVF_REGFILES): $(LAVF_TESTS)

$(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)
Måns Rullgård's avatar
Måns Rullgård committed
395 396
	$(SRC_PATH)/tests/regression.sh $@ vsynth   tests/vsynth1 a
	$(SRC_PATH)/tests/regression.sh $@ rotozoom tests/vsynth2 a
397 398

$(LAVF_TESTS):
Måns Rullgård's avatar
Måns Rullgård committed
399
	$(SRC_PATH)/tests/regression.sh $@ lavf tests/vsynth1 b
400 401 402 403

seektest: codectest libavtest tests/seek_test$(EXESUF)
	$(SRC_PATH)/tests/seek_test.sh $(SEEK_REFFILE)

404
test-server: ffserver$(EXESUF) tests/vsynth1/00.pgm tests/asynth1.sw
405 406 407 408 409 410 411
	@echo
	@echo "Unfortunately ffserver is broken and therefore its regression"
	@echo "test fails randomly. Treat the results accordingly."
	@echo
	$(SRC_PATH)/tests/server-regression.sh $(FFSERVER_REFFILE) $(SRC_PATH)/tests/test.conf

ifeq ($(CONFIG_SWSCALER),yes)
412
test-server codectest $(CODEC_TESTS) libavtest: swscale_error
413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433
swscale_error:
	@echo
	@echo "This regression test is incompatible with --enable-swscaler."
	@echo
	@exit 1
endif

tests/vsynth1/00.pgm: tests/videogen$(EXESUF)
	mkdir -p tests/vsynth1
	$(BUILD_ROOT)/$< 'tests/vsynth1/'

tests/vsynth2/00.pgm: tests/rotozoom$(EXESUF)
	mkdir -p tests/vsynth2
	$(BUILD_ROOT)/$< 'tests/vsynth2/' $(SRC_PATH)/tests/lena.pnm

tests/asynth1.sw: tests/audiogen$(EXESUF)
	$(BUILD_ROOT)/$< $@

%$(EXESUF): %.c
	$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $<

434
tests/seek_test$(EXESUF): tests/seek_test.c .libs
435
	$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $< $(EXTRALIBS)
436

437

438
.PHONY: all lib videohook documentation install* wininstaller uninstall*
439
.PHONY: dep depend clean distclean TAGS
440
.PHONY: codectest libavtest seektest test-server fulltest test
441
.PHONY: $(CODEC_TESTS) $(LAVF_TESTS) regtest-ref swscale-error
442

443
-include .depend
444
-include .vhookdep