ffmpeg / libavcodec / Makefile @ 42225a30
History | View | Annotate | Download (10.8 KB)
1 |
# |
---|---|
2 |
# libavcodec Makefile |
3 |
# (c) 2000-2005 Fabrice Bellard |
4 |
# |
5 |
include ../config.mak |
6 |
|
7 |
# NOTE: -I.. is needed to include config.h |
8 |
CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -I.. -I$(SRC_PATH)/libavutil -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE $(AMR_CFLAGS) |
9 |
|
10 |
OBJS= bitstream.o utils.o mem.o allcodecs.o \ |
11 |
mpegvideo.o jrevdct.o jfdctfst.o jfdctint.o\ |
12 |
mpegaudio.o ac3enc.o mjpeg.o resample.o resample2.o dsputil.o \ |
13 |
motion_est.o imgconvert.o imgresample.o \ |
14 |
mpeg12.o mpegaudiodec.o pcm.o simple_idct.o \ |
15 |
ratecontrol.o adpcm.o eval.o error_resilience.o \ |
16 |
fft.o mdct.o raw.o golomb.o cabac.o\ |
17 |
dpcm.o adx.o faandct.o parser.o g726.o \ |
18 |
vp3dsp.o h264idct.o rangecoder.o pnm.o h263.o msmpeg4.o h263dec.o \ |
19 |
opt.o |
20 |
|
21 |
HEADERS = avcodec.h |
22 |
|
23 |
ifeq ($(CONFIG_AASC_DECODER),yes) |
24 |
OBJS+= aasc.o |
25 |
endif |
26 |
ifeq ($(CONFIG_ALAC_DECODER),yes) |
27 |
OBJS+= alac.o |
28 |
endif |
29 |
ifneq ($(CONFIG_ASV1_DECODER)$(CONFIG_ASV1_ENCODER)$(CONFIG_ASV2_DECODER)$(CONFIG_ASV2_ENCODER),) |
30 |
OBJS+= asv1.o |
31 |
endif |
32 |
ifeq ($(CONFIG_AVS_DECODER),yes) |
33 |
OBJS+= avs.o |
34 |
endif |
35 |
ifeq ($(CONFIG_CINEPAK_DECODER),yes) |
36 |
OBJS+= cinepak.o |
37 |
endif |
38 |
ifeq ($(CONFIG_COOK_DECODER),yes) |
39 |
OBJS+= cook.o |
40 |
endif |
41 |
ifneq ($(CONFIG_CLJR_DECODER)$(CONFIG_CLJR_ENCODER),) |
42 |
OBJS+= cljr.o |
43 |
endif |
44 |
ifeq ($(CONFIG_CYUV_DECODER),yes) |
45 |
OBJS+= cyuv.o |
46 |
endif |
47 |
ifeq ($(CONFIG_DVBSUB_DECODER),yes) |
48 |
OBJS+= dvbsubdec.o |
49 |
endif |
50 |
ifeq ($(CONFIG_DVBSUB_ENCODER),yes) |
51 |
OBJS+= dvbsub.o |
52 |
endif |
53 |
ifeq ($(CONFIG_DVDSUB_DECODER),yes) |
54 |
OBJS+= dvdsub.o |
55 |
endif |
56 |
ifeq ($(CONFIG_DVDSUB_ENCODER),yes) |
57 |
OBJS+= dvdsubenc.o |
58 |
endif |
59 |
ifneq ($(CONFIG_DVVIDEO_DECODER)$(CONFIG_DVVIDEO_ENCODER),) |
60 |
OBJS+= dv.o |
61 |
endif |
62 |
ifeq ($(CONFIG_EIGHTBPS_DECODER),yes) |
63 |
OBJS+= 8bps.o |
64 |
endif |
65 |
ifneq ($(CONFIG_FFV1_DECODER)$(CONFIG_FFV1_ENCODER),) |
66 |
OBJS+= ffv1.o |
67 |
endif |
68 |
ifeq ($(CONFIG_FLAC_DECODER),yes) |
69 |
OBJS+= flac.o |
70 |
endif |
71 |
ifeq ($(CONFIG_FLIC_DECODER),yes) |
72 |
OBJS+= flicvideo.o |
73 |
endif |
74 |
ifeq ($(CONFIG_FOURXM_DECODER),yes) |
75 |
OBJS+= 4xm.o |
76 |
endif |
77 |
ifeq ($(CONFIG_FRAPS_DECODER),yes) |
78 |
OBJS+= fraps.o |
79 |
endif |
80 |
ifneq ($(CONFIG_H261_DECODER)$(CONFIG_H261_ENCODER),) |
81 |
OBJS+= h261.o |
82 |
endif |
83 |
ifneq ($(CONFIG_H264_DECODER)$(CONFIG_SVQ3_DECODER),) |
84 |
OBJS+= h264.o |
85 |
endif |
86 |
ifneq ($(CONFIG_HUFFYUV_DECODER)$(CONFIG_HUFFYUV_ENCODER)$(CONFIG_FFVHUFF_DECODER)$(CONFIG_FFVHUFF_ENCODER),) |
87 |
OBJS+= huffyuv.o |
88 |
endif |
89 |
ifeq ($(CONFIG_IDCIN_DECODER),yes) |
90 |
OBJS+= idcinvideo.o |
91 |
endif |
92 |
ifeq ($(CONFIG_INDEO2_DECODER),yes) |
93 |
OBJS+= indeo2.o |
94 |
endif |
95 |
ifeq ($(CONFIG_INDEO3_DECODER),yes) |
96 |
OBJS+= indeo3.o |
97 |
endif |
98 |
ifeq ($(CONFIG_INTERPLAY_VIDEO_DECODER),yes) |
99 |
OBJS+= interplayvideo.o |
100 |
endif |
101 |
ifeq ($(CONFIG_KMVC_DECODER),yes) |
102 |
OBJS+= kmvc.o |
103 |
endif |
104 |
ifneq ($(CONFIG_MSZH_DECODER)$(CONFIG_ZLIB_DECODER)$(CONFIG_ZLIB_ENCODER),) |
105 |
OBJS+= lcl.o |
106 |
endif |
107 |
ifeq ($(CONFIG_LOCO_DECODER),yes) |
108 |
OBJS+= loco.o |
109 |
endif |
110 |
ifneq ($(CONFIG_MACE3_DECODER)$(CONFIG_MACE6_DECODER),) |
111 |
OBJS+= mace.o |
112 |
endif |
113 |
ifeq ($(CONFIG_MSRLE_DECODER),yes) |
114 |
OBJS+= msrle.o |
115 |
endif |
116 |
ifeq ($(CONFIG_MSVIDEO1_DECODER),yes) |
117 |
OBJS+= msvideo1.o |
118 |
endif |
119 |
ifneq ($(CONFIG_PNG_DECODER)$(CONFIG_PNG_ENCODER),) |
120 |
OBJS+= png.o |
121 |
endif |
122 |
ifeq ($(CONFIG_QDM2_DECODER),yes) |
123 |
OBJS+= qdm2.o |
124 |
endif |
125 |
ifeq ($(CONFIG_QDRAW_DECODER),yes) |
126 |
OBJS+= qdrw.o |
127 |
endif |
128 |
ifeq ($(CONFIG_QPEG_DECODER),yes) |
129 |
OBJS+= qpeg.o |
130 |
endif |
131 |
ifeq ($(CONFIG_QTRLE_DECODER),yes) |
132 |
OBJS+= qtrle.o |
133 |
endif |
134 |
ifeq ($(CONFIG_RA_144_DECODER),yes) |
135 |
OBJS+= ra144.o |
136 |
endif |
137 |
ifeq ($(CONFIG_RA_288_DECODER),yes) |
138 |
OBJS+= ra288.o |
139 |
endif |
140 |
ifeq ($(CONFIG_ROQ_DECODER),yes) |
141 |
OBJS+= roqvideo.o |
142 |
endif |
143 |
ifeq ($(CONFIG_RPZA_DECODER),yes) |
144 |
OBJS+= rpza.o |
145 |
endif |
146 |
ifneq ($(CONFIG_RV10_DECODER)$(CONFIG_RV20_DECODER)$(CONFIG_RV10_ENCODER)$(CONFIG_RV20_ENCODER),) |
147 |
OBJS+= rv10.o |
148 |
endif |
149 |
ifeq ($(CONFIG_SHORTEN_DECODER),yes) |
150 |
OBJS+= shorten.o |
151 |
endif |
152 |
ifneq ($(CONFIG_SMACKER_DECODER)$(CONFIG_SMACKAUD_DECODER),) |
153 |
OBJS+= smacker.o |
154 |
endif |
155 |
ifeq ($(CONFIG_SMC_DECODER),yes) |
156 |
OBJS+= smc.o |
157 |
endif |
158 |
ifneq ($(CONFIG_SNOW_DECODER)$(CONFIG_SNOW_ENCODER),) |
159 |
OBJS+= snow.o |
160 |
endif |
161 |
ifneq ($(CONFIG_SONIC_DECODER)$(CONFIG_SONIC_ENCODER)$(CONFIG_SONIC_LS_ENCODER),) |
162 |
OBJS+= sonic.o |
163 |
endif |
164 |
ifneq ($(CONFIG_SVQ1_DECODER)$(CONFIG_SVQ1_ENCODER),) |
165 |
OBJS+= svq1.o |
166 |
endif |
167 |
ifeq ($(CONFIG_TRUEMOTION1_DECODER),yes) |
168 |
OBJS+= truemotion1.o |
169 |
endif |
170 |
ifeq ($(CONFIG_TRUEMOTION2_DECODER),yes) |
171 |
OBJS+= truemotion2.o |
172 |
endif |
173 |
ifeq ($(CONFIG_TRUESPEECH_DECODER),yes) |
174 |
OBJS+= truespeech.o |
175 |
endif |
176 |
ifeq ($(CONFIG_TTA_DECODER),yes) |
177 |
OBJS+= tta.o |
178 |
endif |
179 |
ifeq ($(CONFIG_TSCC_DECODER),yes) |
180 |
OBJS+= tscc.o |
181 |
endif |
182 |
ifeq ($(CONFIG_CSCD_DECODER),yes) |
183 |
OBJS+= cscd.o |
184 |
OBJS+= lzo.o |
185 |
endif |
186 |
ifeq ($(CONFIG_NUV_DECODER),yes) |
187 |
OBJS+= nuv.o |
188 |
OBJS+= rtjpeg.o |
189 |
OBJS+= lzo.o |
190 |
endif |
191 |
ifeq ($(CONFIG_ULTI_DECODER),yes) |
192 |
OBJS+= ulti.o |
193 |
endif |
194 |
ifneq ($(CONFIG_VC9_DECODER)$(CONFIG_WMV3_DECODER),) |
195 |
OBJS+= vc9.o |
196 |
endif |
197 |
ifneq ($(CONFIG_VCR1_DECODER)$(CONFIG_VCR1_ENCODER),) |
198 |
OBJS+= vcr1.o |
199 |
endif |
200 |
ifneq ($(CONFIG_VMDVIDEO_DECODER)$(CONFIG_VMDAUDIO_DECODER),) |
201 |
OBJS+= vmdav.o |
202 |
endif |
203 |
ifeq ($(CONFIG_VORBIS_DECODER),yes) |
204 |
OBJS+= vorbis.o |
205 |
endif |
206 |
ifneq ($(CONFIG_VP3_DECODER)$(CONFIG_THEORA_DECODER),) |
207 |
OBJS+= vp3.o |
208 |
endif |
209 |
ifeq ($(CONFIG_VQA_DECODER),yes) |
210 |
OBJS+= vqavideo.o |
211 |
endif |
212 |
ifneq ($(CONFIG_WMAV1_DECODER)$(CONFIG_WMAV2_DECODER),) |
213 |
OBJS+= wmadec.o |
214 |
endif |
215 |
ifeq ($(CONFIG_WNV1_DECODER),yes) |
216 |
OBJS+= wnv1.o |
217 |
endif |
218 |
ifeq ($(CONFIG_WS_SND1_DECODER),yes) |
219 |
OBJS+= ws-snd1.o |
220 |
endif |
221 |
ifneq ($(CONFIG_XAN_WC3_DECODER)$(CONFIG_XAN_WC4_DECODER),) |
222 |
OBJS+= xan.o |
223 |
endif |
224 |
ifeq ($(CONFIG_XL_DECODER),yes) |
225 |
OBJS+= xl.o |
226 |
endif |
227 |
ifeq ($(CONFIG_BMP_DECODER),yes) |
228 |
OBJS+= bmp.o |
229 |
endif |
230 |
ifeq ($(CONFIG_MMVIDEO_DECODER),yes) |
231 |
OBJS+= mmvideo.o |
232 |
endif |
233 |
ifeq ($(CONFIG_ZMBV_DECODER),yes) |
234 |
OBJS+= zmbv.o |
235 |
endif |
236 |
ifeq ($(CONFIG_FLASHSV_DECODER),yes) |
237 |
OBJS+= flashsv.o |
238 |
endif |
239 |
|
240 |
|
241 |
ifeq ($(AMR),yes) |
242 |
OBJS+= amr.o |
243 |
endif |
244 |
|
245 |
ifeq ($(AMR_NB),yes) |
246 |
OBJS+= amr_float/sp_dec.o amr_float/sp_enc.o amr_float/interf_dec.o amr_float/interf_enc.o |
247 |
endif |
248 |
|
249 |
ifeq ($(AMR_NB_FIXED),yes) |
250 |
EXTRAOBJS += amr/*.o |
251 |
EXTRADEPS=amrlibs |
252 |
endif |
253 |
|
254 |
ifeq ($(AMR_WB),yes) |
255 |
OBJS+= amrwb_float/dec_acelp.o amrwb_float/dec_dtx.o amrwb_float/dec_gain.o \ |
256 |
amrwb_float/dec_if.o amrwb_float/dec_lpc.o amrwb_float/dec_main.o \ |
257 |
amrwb_float/dec_rom.o amrwb_float/dec_util.o amrwb_float/enc_acelp.o \ |
258 |
amrwb_float/enc_dtx.o amrwb_float/enc_gain.o amrwb_float/enc_if.o \ |
259 |
amrwb_float/enc_lpc.o amrwb_float/enc_main.o amrwb_float/enc_rom.o \ |
260 |
amrwb_float/enc_util.o amrwb_float/if_rom.o |
261 |
endif |
262 |
|
263 |
|
264 |
ifeq ($(HAVE_PTHREADS),yes) |
265 |
OBJS+= pthread.o |
266 |
endif |
267 |
|
268 |
ifeq ($(HAVE_W32THREADS),yes) |
269 |
OBJS+= w32thread.o |
270 |
endif |
271 |
|
272 |
ifeq ($(HAVE_OS2THREADS),yes) |
273 |
OBJS+= os2thread.o |
274 |
endif |
275 |
|
276 |
|
277 |
ifeq ($(HAVE_BEOSTHREADS),yes) |
278 |
OBJS+= beosthread.o |
279 |
endif |
280 |
|
281 |
ASM_OBJS= |
282 |
|
283 |
ifeq ($(HAVE_XVMC_ACCEL),yes) |
284 |
OBJS+= xvmcvideo.o |
285 |
endif |
286 |
|
287 |
# currently using liba52 for ac3 decoding |
288 |
ifeq ($(CONFIG_AC3),yes) |
289 |
OBJS+= a52dec.o |
290 |
|
291 |
# using builtin liba52 or runtime linked liba52.so.0 |
292 |
ifneq ($(CONFIG_A52BIN),yes) |
293 |
OBJS+= liba52/bit_allocate.o liba52/bitstream.o liba52/downmix.o \ |
294 |
liba52/imdct.o liba52/parse.o liba52/crc.o liba52/resample.o |
295 |
endif |
296 |
endif |
297 |
|
298 |
EXTRALIBS := -L../libavutil -lavutil$(BUILDSUF) $(EXTRALIBS) |
299 |
|
300 |
# currently using libdts for dts decoding |
301 |
ifeq ($(CONFIG_DTS),yes) |
302 |
OBJS+= dtsdec.o |
303 |
CFLAGS += $(DTS_INC) |
304 |
endif |
305 |
|
306 |
ifeq ($(CONFIG_FAAD),yes) |
307 |
OBJS+= faad.o |
308 |
endif |
309 |
|
310 |
ifeq ($(CONFIG_FAAC),yes) |
311 |
OBJS+= faac.o |
312 |
endif |
313 |
|
314 |
ifeq ($(CONFIG_XVID),yes) |
315 |
OBJS+= xvidff.o |
316 |
OBJS+= xvid_rc.o |
317 |
endif |
318 |
|
319 |
ifeq ($(CONFIG_X264),yes) |
320 |
OBJS+= x264.o |
321 |
endif |
322 |
|
323 |
ifeq ($(CONFIG_MP3LAME),yes) |
324 |
OBJS += mp3lameaudio.o |
325 |
endif |
326 |
|
327 |
ifeq ($(CONFIG_LIBOGG),yes) |
328 |
ifeq ($(CONFIG_LIBVORBIS),yes) |
329 |
OBJS += oggvorbis.o |
330 |
endif |
331 |
ifeq ($(CONFIG_LIBTHEORA), yes) |
332 |
OBJS += oggtheora.o |
333 |
endif |
334 |
endif |
335 |
|
336 |
ifeq ($(CONFIG_LIBGSM),yes) |
337 |
OBJS += libgsm.o |
338 |
endif |
339 |
|
340 |
# i386 mmx specific stuff |
341 |
ifeq ($(TARGET_MMX),yes) |
342 |
OBJS += i386/fdct_mmx.o i386/cputest.o \ |
343 |
i386/dsputil_mmx.o i386/mpegvideo_mmx.o \ |
344 |
i386/idct_mmx.o i386/motion_est_mmx.o \ |
345 |
i386/simple_idct_mmx.o i386/fft_sse.o i386/vp3dsp_mmx.o \ |
346 |
i386/vp3dsp_sse2.o i386/fft_3dn.o i386/fft_3dn2.o i386/snowdsp_mmx.o |
347 |
ifeq ($(CONFIG_GPL),yes) |
348 |
OBJS += i386/idct_mmx_xvid.o |
349 |
endif |
350 |
ifdef TARGET_BUILTIN_VECTOR |
351 |
i386/fft_sse.o: CFLAGS+= -msse |
352 |
depend: CFLAGS+= -msse |
353 |
endif |
354 |
ifdef TARGET_BUILTIN_3DNOW |
355 |
i386/fft_3dn.o: CFLAGS+= -m3dnow |
356 |
ifeq ($(TARGET_ARCH_X86),yes) |
357 |
i386/fft_3dn2.o: CFLAGS+= -march=athlon |
358 |
endif |
359 |
ifeq ($(TARGET_ARCH_X86_64),yes) |
360 |
i386/fft_3dn2.o: CFLAGS+= -march=k8 |
361 |
endif |
362 |
endif |
363 |
endif |
364 |
|
365 |
# armv4l specific stuff |
366 |
ifeq ($(TARGET_ARCH_ARMV4L),yes) |
367 |
ASM_OBJS += armv4l/jrevdct_arm.o armv4l/simple_idct_arm.o armv4l/dsputil_arm_s.o |
368 |
OBJS += armv4l/dsputil_arm.o armv4l/mpegvideo_arm.o |
369 |
ifeq ($(TARGET_IWMMXT),yes) |
370 |
OBJS += armv4l/dsputil_iwmmxt.o armv4l/mpegvideo_iwmmxt.o |
371 |
endif |
372 |
endif |
373 |
|
374 |
# sun mediaLib specific stuff |
375 |
# currently only works when libavcodec is used in mplayer |
376 |
ifeq ($(HAVE_MLIB),yes) |
377 |
OBJS += mlib/dsputil_mlib.o |
378 |
CFLAGS += $(MLIB_INC) |
379 |
endif |
380 |
|
381 |
# Intel IPP specific stuff |
382 |
# currently only works when libavcodec is used in mplayer |
383 |
ifeq ($(HAVE_IPP),yes) |
384 |
CFLAGS += $(IPP_INC) |
385 |
endif |
386 |
|
387 |
# alpha specific stuff |
388 |
ifeq ($(TARGET_ARCH_ALPHA),yes) |
389 |
OBJS += alpha/dsputil_alpha.o alpha/mpegvideo_alpha.o \ |
390 |
alpha/simple_idct_alpha.o alpha/motion_est_alpha.o |
391 |
ASM_OBJS += alpha/dsputil_alpha_asm.o alpha/motion_est_mvi_asm.o |
392 |
CFLAGS += -fforce-addr |
393 |
endif |
394 |
|
395 |
ifeq ($(TARGET_ARCH_POWERPC),yes) |
396 |
OBJS += ppc/dsputil_ppc.o ppc/mpegvideo_ppc.o |
397 |
endif |
398 |
|
399 |
ifeq ($(TARGET_MMI),yes) |
400 |
OBJS += ps2/dsputil_mmi.o ps2/idct_mmi.o ps2/mpegvideo_mmi.o |
401 |
endif |
402 |
|
403 |
ifeq ($(TARGET_ALTIVEC),yes) |
404 |
OBJS += ppc/dsputil_altivec.o ppc/mpegvideo_altivec.o ppc/idct_altivec.o \ |
405 |
ppc/fft_altivec.o ppc/gmc_altivec.o ppc/fdct_altivec.o \ |
406 |
ppc/dsputil_h264_altivec.o ppc/dsputil_snow_altivec.o |
407 |
endif |
408 |
|
409 |
ifeq ($(TARGET_ARCH_SH4),yes) |
410 |
OBJS+= sh4/idct_sh4.o sh4/dsputil_sh4.o sh4/dsputil_align.o |
411 |
endif |
412 |
|
413 |
ifeq ($(TARGET_ARCH_SPARC),yes) |
414 |
OBJS+=sparc/dsputil_vis.o |
415 |
sparc/%.o: sparc/%.c |
416 |
$(CC) -mcpu=ultrasparc -mtune=ultrasparc $(CFLAGS) -c -o $@ $< |
417 |
endif |
418 |
|
419 |
NAME=avcodec |
420 |
LIBAVUTIL= $(SRC_PATH)/libavutil/$(LIBPREF)avutil$(LIBSUF) |
421 |
ifeq ($(BUILD_SHARED),yes) |
422 |
LIBVERSION=$(LAVCVERSION) |
423 |
LIBMAJOR=$(LAVCMAJOR) |
424 |
endif |
425 |
TESTS= imgresample-test dct-test motion-test fft-test |
426 |
|
427 |
include $(SRC_PATH)/common.mak |
428 |
|
429 |
amrlibs: |
430 |
$(MAKE) -C amr spclib fipoplib |
431 |
|
432 |
tests: apiexample cpuid_test $(TESTS) |
433 |
|
434 |
dsputil.o: dsputil.c dsputil.h |
435 |
|
436 |
clean:: |
437 |
rm -f \ |
438 |
i386/*.o i386/*~ \ |
439 |
armv4l/*.o armv4l/*~ \ |
440 |
mlib/*.o mlib/*~ \ |
441 |
alpha/*.o alpha/*~ \ |
442 |
ppc/*.o ppc/*~ \ |
443 |
ps2/*.o ps2/*~ \ |
444 |
sh4/*.o sh4/*~ \ |
445 |
sparc/*.o sparc/*~ \ |
446 |
liba52/*.o liba52/*~ \ |
447 |
amr_float/*.o \ |
448 |
apiexample $(TESTS) |
449 |
-$(MAKE) -C amr clean |
450 |
-$(MAKE) -C amrwb_float -f makefile.gcc clean |
451 |
|
452 |
# api example program |
453 |
apiexample: apiexample.c $(LIB) |
454 |
$(CC) $(CFLAGS) -o $@ $< $(LIB) $(LIBAVUTIL) $(EXTRALIBS) |
455 |
|
456 |
# cpuid test |
457 |
cpuid_test: i386/cputest.c |
458 |
$(CC) $(CFLAGS) -D__TEST__ -o $@ $< |
459 |
|
460 |
# testing progs |
461 |
|
462 |
imgresample-test: imgresample.c |
463 |
$(CC) $(CFLAGS) -DTEST -o $@ $^ -lm |
464 |
|
465 |
dct-test: dct-test.o fdctref.o $(LIB) |
466 |
$(CC) -o $@ $^ -lm $(LIBAVUTIL) |
467 |
|
468 |
motion-test: motion_test.o $(LIB) |
469 |
$(CC) -o $@ $^ -lm |
470 |
|
471 |
fft-test: fft-test.o $(LIB) |
472 |
$(CC) -o $@ $^ $(LIBAVUTIL) -lm |