Commit | Line | Data |
---|---|---|
4cc281d9 FB |
1 | # |
2 | # libavcodec Makefile | |
6d6d7970 | 3 | # (c) 2000-2005 Fabrice Bellard |
4cc281d9 | 4 | # |
980fc7b8 FB |
5 | include ../config.mak |
6 | ||
4cc281d9 FB |
7 | VPATH=$(SRC_PATH)/libavcodec |
8 | ||
ff4ec49e | 9 | # NOTE: -I.. is needed to include config.h |
2a515c08 | 10 | CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE $(AMR_CFLAGS) |
de6d9b64 | 11 | |
caa336b4 | 12 | OBJS= bitstream.o utils.o mem.o allcodecs.o \ |
1d0d55da | 13 | mpegvideo.o jrevdct.o jfdctfst.o jfdctint.o\ |
7b1fa7db | 14 | mpegaudio.o ac3enc.o mjpeg.o resample.o resample2.o dsputil.o \ |
1d0d55da | 15 | motion_est.o imgconvert.o imgresample.o \ |
4f1bb8a9 | 16 | mpeg12.o mpegaudiodec.o pcm.o simple_idct.o \ |
8b975b7c MN |
17 | ratecontrol.o adpcm.o eval.o error_resilience.o \ |
18 | fft.o mdct.o raw.o golomb.o cabac.o\ | |
19 | dpcm.o adx.o rational.o faandct.o parser.o g726.o \ | |
20 | vp3dsp.o integer.o h264idct.o rangecoder.o pnm.o h263.o msmpeg4.o h263dec.o | |
21 | ||
22 | ifeq ($(CONFIG_AASC_DECODER),yes) | |
23 | OBJS+= aasc.o | |
24 | endif | |
25 | ifeq ($(CONFIG_ALAC_DECODER),yes) | |
26 | OBJS+= alac.o | |
27 | endif | |
28 | ifneq ($(CONFIG_ASV1_DECODER)$(CONFIG_ASV1_ENCODER)$(CONFIG_ASV2_DECODER)$(CONFIG_ASV2_ENCODER),) | |
29 | OBJS+= asv1.o | |
30 | endif | |
31 | ifeq ($(CONFIG_CINEPAK_DECODER),yes) | |
32 | OBJS+= cinepak.o | |
33 | endif | |
34 | ifneq ($(CONFIG_CLJR_DECODER)$(CONFIG_CLJR_ENCODER),) | |
35 | OBJS+= cljr.o | |
36 | endif | |
37 | ifeq ($(CONFIG_CYUV_DECODER),yes) | |
38 | OBJS+= cyuv.o | |
39 | endif | |
40 | ifneq ($(CONFIG_DVVIDEO_DECODER)$(CONFIG_DVVIDEO_ENCODER),) | |
41 | OBJS+= dv.o | |
42 | endif | |
43 | ifeq ($(CONFIG_EIGHTBPS_DECODER),yes) | |
44 | OBJS+= 8bps.o | |
45 | endif | |
46 | ifneq ($(CONFIG_FFV1_DECODER)$(CONFIG_FFV1_ENCODER),) | |
47 | OBJS+= ffv1.o | |
48 | endif | |
49 | ifeq ($(CONFIG_FLAC_DECODER),yes) | |
50 | OBJS+= flac.o | |
51 | endif | |
52 | ifeq ($(CONFIG_FLIC_DECODER),yes) | |
53 | OBJS+= flicvideo.o | |
54 | endif | |
55 | ifeq ($(CONFIG_FOURXM_DECODER),yes) | |
56 | OBJS+= 4xm.o | |
57 | endif | |
b81f8949 MM |
58 | ifeq ($(CONFIG_FRAPS_DECODER),yes) |
59 | OBJS+= fraps.o | |
60 | endif | |
8b975b7c MN |
61 | ifneq ($(CONFIG_H261_DECODER)$(CONFIG_H261_ENCODER),) |
62 | OBJS+= h261.o | |
63 | endif | |
64 | ifneq ($(CONFIG_H264_DECODER)$(CONFIG_SVQ3_DECODER),) | |
65 | OBJS+= h264.o | |
66 | endif | |
67 | ifneq ($(CONFIG_HUFFYUV_DECODER)$(CONFIG_HUFFYUV_ENCODER)$(CONFIG_FFVHUFF_DECODER)$(CONFIG_FFVHUFF_ENCODER),) | |
68 | OBJS+= huffyuv.o | |
69 | endif | |
70 | ifeq ($(CONFIG_IDCIN_DECODER),yes) | |
71 | OBJS+= idcinvideo.o | |
72 | endif | |
73 | ifeq ($(CONFIG_INDEO2_DECODER),yes) | |
74 | OBJS+= indeo2.o | |
75 | endif | |
76 | ifeq ($(CONFIG_INDEO3_DECODER),yes) | |
77 | OBJS+= indeo3.o | |
78 | endif | |
79 | ifeq ($(CONFIG_INTERPLAY_VIDEO_DECODER),yes) | |
80 | OBJS+= interplayvideo.o | |
81 | endif | |
82 | ifneq ($(CONFIG_MSZH_DECODER)$(CONFIG_ZLIB_DECODER)$(CONFIG_ZLIB_ENCODER),) | |
83 | OBJS+= lcl.o | |
84 | endif | |
85 | ifeq ($(CONFIG_LOCO_DECODER),yes) | |
86 | OBJS+= loco.o | |
87 | endif | |
88 | ifneq ($(CONFIG_MACE3_DECODER)$(CONFIG_MACE6_DECODER),) | |
89 | OBJS+= mace.o | |
90 | endif | |
91 | ifeq ($(CONFIG_MSRLE_DECODER),yes) | |
92 | OBJS+= msrle.o | |
93 | endif | |
94 | ifeq ($(CONFIG_MSVIDEO1_DECODER),yes) | |
95 | OBJS+= msvideo1.o | |
96 | endif | |
97 | ifneq ($(CONFIG_PNG_DECODER)$(CONFIG_PNG_ENCODER),) | |
98 | OBJS+= png.o | |
99 | endif | |
100 | ifeq ($(CONFIG_QDRAW_DECODER),yes) | |
101 | OBJS+= qdrw.o | |
102 | endif | |
103 | ifeq ($(CONFIG_QPEG_DECODER),yes) | |
104 | OBJS+= qpeg.o | |
105 | endif | |
106 | ifeq ($(CONFIG_QTRLE_DECODER),yes) | |
107 | OBJS+= qtrle.o | |
108 | endif | |
109 | ifeq ($(CONFIG_RA_144_DECODER),yes) | |
110 | OBJS+= ra144.o | |
111 | endif | |
112 | ifeq ($(CONFIG_RA_288_DECODER),yes) | |
113 | OBJS+= ra288.o | |
114 | endif | |
115 | ifeq ($(CONFIG_ROQ_DECODER),yes) | |
116 | OBJS+= roqvideo.o | |
117 | endif | |
118 | ifeq ($(CONFIG_RPZA_DECODER),yes) | |
119 | OBJS+= rpza.o | |
120 | endif | |
121 | ifneq ($(CONFIG_RV10_DECODER)$(CONFIG_RV20_DECODER)$(CONFIG_RV10_ENCODER)$(CONFIG_RV20_ENCODER),) | |
122 | OBJS+= rv10.o | |
123 | endif | |
124 | ifeq ($(CONFIG_SHORTEN_DECODER),yes) | |
125 | OBJS+= shorten.o | |
126 | endif | |
127 | ifeq ($(CONFIG_SMC_DECODER),yes) | |
128 | OBJS+= smc.o | |
129 | endif | |
0de1318a | 130 | ifneq ($(CONFIG_SNOW_DECODER)$(CONFIG_SNOW_ENCODER),) |
8b975b7c MN |
131 | OBJS+= snow.o |
132 | endif | |
133 | ifneq ($(CONFIG_SONIC_DECODER)$(CONFIG_SONIC_ENCODER)$(CONFIG_SONIC_LS_ENCODER),) | |
134 | OBJS+= sonic.o | |
135 | endif | |
136 | ifneq ($(CONFIG_SVQ1_DECODER)$(CONFIG_SVQ1_ENCODER),) | |
137 | OBJS+= svq1.o | |
138 | endif | |
139 | ifeq ($(CONFIG_TRUEMOTION1_DECODER),yes) | |
140 | OBJS+= truemotion1.o | |
141 | endif | |
142 | ifeq ($(CONFIG_TSCC_DECODER),yes) | |
143 | OBJS+= tscc.o | |
144 | endif | |
145 | ifeq ($(CONFIG_ULTI_DECODER),yes) | |
146 | OBJS+= ulti.o | |
147 | endif | |
148 | ifneq ($(CONFIG_VC9_DECODER)$(CONFIG_WMV3_DECODER),) | |
149 | OBJS+= vc9.o | |
150 | endif | |
151 | ifneq ($(CONFIG_VCR1_DECODER)$(CONFIG_VCR1_ENCODER),) | |
152 | OBJS+= vcr1.o | |
153 | endif | |
154 | ifneq ($(CONFIG_VMDVIDEO_DECODER)$(CONFIG_VMDAUDIO_DECODER),) | |
155 | OBJS+= vmdav.o | |
156 | endif | |
0bde73d9 MN |
157 | ifeq ($(CONFIG_VORBIS_DECODER),yes) |
158 | OBJS+= vorbis.o | |
159 | endif | |
8b975b7c MN |
160 | ifneq ($(CONFIG_VP3_DECODER)$(CONFIG_THEORA_DECODER),) |
161 | OBJS+= vp3.o | |
162 | endif | |
163 | ifeq ($(CONFIG_VQA_DECODER),yes) | |
164 | OBJS+= vqavideo.o | |
165 | endif | |
166 | ifneq ($(CONFIG_WMAV1_DECODER)$(CONFIG_WMAV2_DECODER),) | |
167 | OBJS+= wmadec.o | |
168 | endif | |
169 | ifeq ($(CONFIG_WNV1_DECODER),yes) | |
170 | OBJS+= wnv1.o | |
171 | endif | |
172 | ifeq ($(CONFIG_WS_SND1_DECODER),yes) | |
173 | OBJS+= ws-snd1.o | |
174 | endif | |
175 | ifneq ($(CONFIG_XAN_WC3_DECODER)$(CONFIG_XAN_WC4_DECODER),) | |
176 | OBJS+= xan.o | |
177 | endif | |
178 | ifeq ($(CONFIG_XL_DECODER),yes) | |
179 | OBJS+= xl.o | |
180 | endif | |
181 | ||
182 | ||
4d4bb927 | 183 | AMROBJS= |
891f64b3 | 184 | ifeq ($(AMR_NB),yes) |
bc634f6f | 185 | ifeq ($(AMR_NB_FIXED),yes) |
4d4bb927 | 186 | AMROBJS= amr.o |
bc634f6f ZK |
187 | AMREXTRALIBS+= amr/*.o |
188 | AMRLIBS=amrlibs | |
189 | CLEANAMR=cleanamr | |
190 | else | |
4d4bb927 RT |
191 | AMROBJS= amr.o |
192 | OBJS+= amr_float/sp_dec.o amr_float/sp_enc.o amr_float/interf_dec.o amr_float/interf_enc.o | |
bc634f6f ZK |
193 | CLEANAMR=cleanamrfloat |
194 | endif | |
891f64b3 | 195 | endif |
196 | ||
9c3d33d6 MN |
197 | ifeq ($(HAVE_PTHREADS),yes) |
198 | OBJS+= pthread.o | |
199 | endif | |
200 | ||
16806499 MN |
201 | ifeq ($(HAVE_W32THREADS),yes) |
202 | OBJS+= w32thread.o | |
203 | endif | |
204 | ||
2450cff2 FR |
205 | ifeq ($(HAVE_BEOSTHREADS),yes) |
206 | OBJS+= beosthread.o | |
207 | endif | |
208 | ||
d663a1fd | 209 | ifeq ($(AMR_WB),yes) |
4d4bb927 RT |
210 | AMROBJS= amr.o |
211 | OBJS+= amrwb_float/dec_acelp.o amrwb_float/dec_dtx.o amrwb_float/dec_gain.o \ | |
d663a1fd MN |
212 | amrwb_float/dec_if.o amrwb_float/dec_lpc.o amrwb_float/dec_main.o \ |
213 | amrwb_float/dec_rom.o amrwb_float/dec_util.o amrwb_float/enc_acelp.o \ | |
214 | amrwb_float/enc_dtx.o amrwb_float/enc_gain.o amrwb_float/enc_if.o \ | |
215 | amrwb_float/enc_lpc.o amrwb_float/enc_main.o amrwb_float/enc_rom.o \ | |
216 | amrwb_float/enc_util.o amrwb_float/if_rom.o | |
217 | endif | |
4d4bb927 | 218 | OBJS+= $(AMROBJS) |
d663a1fd | 219 | CLEANAMRWB=cleanamrwbfloat |
980fc7b8 | 220 | ASM_OBJS= |
de6d9b64 | 221 | |
4f1bb8a9 IK |
222 | ifeq ($(HAVE_XVMC_ACCEL),yes) |
223 | OBJS+= xvmcvideo.o | |
224 | endif | |
225 | ||
57514323 | 226 | # currently using liba52 for ac3 decoding |
d771bcae | 227 | ifeq ($(CONFIG_AC3),yes) |
57514323 | 228 | OBJS+= a52dec.o |
57514323 ZK |
229 | |
230 | # using builtin liba52 or runtime linked liba52.so.0 | |
ff4ec49e | 231 | ifneq ($(CONFIG_A52BIN),yes) |
57514323 | 232 | OBJS+= liba52/bit_allocate.o liba52/bitstream.o liba52/downmix.o \ |
521221cf | 233 | liba52/imdct.o liba52/parse.o liba52/crc.o liba52/resample.o |
d771bcae | 234 | endif |
ff4ec49e | 235 | endif |
de6d9b64 | 236 | |
23c99253 MN |
237 | # currently using libdts for dts decoding |
238 | ifeq ($(CONFIG_DTS),yes) | |
239 | OBJS+= dtsdec.o | |
c5c97a8d MN |
240 | CFLAGS += $(DTS_INC) |
241 | EXTRALIBS += -ldts | |
23c99253 MN |
242 | endif |
243 | ||
280bd7b7 ZK |
244 | ifeq ($(CONFIG_FAAD),yes) |
245 | OBJS+= faad.o | |
445ad18d ZK |
246 | ifeq ($(CONFIG_FAADBIN),yes) |
247 | # no libs needed | |
248 | else | |
249 | EXTRALIBS += -lfaad | |
250 | endif | |
280bd7b7 ZK |
251 | endif |
252 | ||
29d48296 MN |
253 | ifeq ($(CONFIG_FAAC),yes) |
254 | OBJS+= faac.o | |
255 | EXTRALIBS += -lfaac | |
256 | endif | |
257 | ||
1ddadfa9 AT |
258 | ifeq ($(CONFIG_XVID),yes) |
259 | OBJS+= xvidff.o | |
260 | EXTRALIBS += -lxvidcore | |
261 | endif | |
262 | ||
6662ec29 MN |
263 | ifeq ($(CONFIG_X264),yes) |
264 | OBJS+= x264.o | |
7c653cc9 | 265 | EXTRALIBS += -lx264 |
6662ec29 MN |
266 | endif |
267 | ||
bba9b16c MN |
268 | ifeq ($(CONFIG_PP),yes) |
269 | ifeq ($(SHARED_PP),yes) | |
7919d97e | 270 | EXTRALIBS += -Llibpostproc -lpostproc$(BUILDSUF) |
bba9b16c MN |
271 | else |
272 | # LIBS += libpostproc/libpostproc.a ... should be fixed | |
273 | OBJS += libpostproc/postprocess.o | |
274 | endif | |
275 | endif | |
276 | ||
5798368b J |
277 | ifeq ($(CONFIG_MP3LAME),yes) |
278 | OBJS += mp3lameaudio.o | |
2a2a98c0 | 279 | EXTRALIBS += -lmp3lame |
5798368b J |
280 | endif |
281 | ||
5c5dea3f | 282 | ifeq ($(CONFIG_LIBOGG),yes) |
5c5dea3f | 283 | ifeq ($(CONFIG_LIBVORBIS),yes) |
81e0d0b4 | 284 | OBJS += oggvorbis.o |
078a8dd6 | 285 | EXTRALIBS += -lvorbisenc -lvorbis |
81e0d0b4 | 286 | endif |
5c5dea3f NB |
287 | ifeq ($(CONFIG_LIBTHEORA), yes) |
288 | OBJS += oggtheora.o | |
289 | EXTRALIBS += -ltheora | |
290 | endif | |
078a8dd6 | 291 | EXTRALIBS += -logg |
5c5dea3f | 292 | endif |
81e0d0b4 | 293 | |
43f1708f J |
294 | ifeq ($(TARGET_GPROF),yes) |
295 | CFLAGS+=-p | |
296 | LDFLAGS+=-p | |
297 | endif | |
298 | ||
de6d9b64 | 299 | # i386 mmx specific stuff |
980fc7b8 | 300 | ifeq ($(TARGET_MMX),yes) |
4300403e | 301 | OBJS += i386/fdct_mmx.o i386/cputest.o \ |
de1ee36a | 302 | i386/dsputil_mmx.o i386/mpegvideo_mmx.o \ |
57514323 | 303 | i386/idct_mmx.o i386/motion_est_mmx.o \ |
38acbc3c MM |
304 | i386/simple_idct_mmx.o i386/fft_sse.o i386/vp3dsp_mmx.o \ |
305 | i386/vp3dsp_sse2.o | |
a968e365 FB |
306 | ifdef TARGET_BUILTIN_VECTOR |
307 | i386/fft_sse.o: CFLAGS+= -msse | |
148beec7 | 308 | depend: CFLAGS+= -msse |
a968e365 | 309 | endif |
de6d9b64 FB |
310 | endif |
311 | ||
3d03c0a2 FB |
312 | # armv4l specific stuff |
313 | ifeq ($(TARGET_ARCH_ARMV4L),yes) | |
bd7d1ea7 | 314 | ASM_OBJS += armv4l/jrevdct_arm.o armv4l/simple_idct_arm.o |
676e200c | 315 | OBJS += armv4l/dsputil_arm.o armv4l/mpegvideo_arm.o |
3d03c0a2 FB |
316 | endif |
317 | ||
c34270f5 FB |
318 | # sun mediaLib specific stuff |
319 | # currently only works when libavcodec is used in mplayer | |
320 | ifeq ($(HAVE_MLIB),yes) | |
321 | OBJS += mlib/dsputil_mlib.o | |
322 | CFLAGS += $(MLIB_INC) | |
323 | endif | |
324 | ||
1e98dffb NK |
325 | # alpha specific stuff |
326 | ifeq ($(TARGET_ARCH_ALPHA),yes) | |
8b313a47 FH |
327 | OBJS += alpha/dsputil_alpha.o alpha/mpegvideo_alpha.o \ |
328 | alpha/simple_idct_alpha.o alpha/motion_est_alpha.o | |
f9bb4bdf | 329 | ASM_OBJS += alpha/dsputil_alpha_asm.o alpha/motion_est_mvi_asm.o |
647b610c | 330 | CFLAGS += -fforce-addr |
1e98dffb NK |
331 | endif |
332 | ||
59925ef2 | 333 | ifeq ($(TARGET_ARCH_POWERPC),yes) |
05c4072b | 334 | OBJS += ppc/dsputil_ppc.o ppc/mpegvideo_ppc.o |
ab6c65f6 BF |
335 | endif |
336 | ||
d46aba26 | 337 | ifeq ($(TARGET_MMI),yes) |
5917d17c | 338 | OBJS += ps2/dsputil_mmi.o ps2/idct_mmi.o ps2/mpegvideo_mmi.o |
d46aba26 LS |
339 | endif |
340 | ||
ab6c65f6 | 341 | ifeq ($(TARGET_ALTIVEC),yes) |
8d268a7d | 342 | OBJS += ppc/dsputil_altivec.o ppc/mpegvideo_altivec.o ppc/idct_altivec.o \ |
a6a12a8a RD |
343 | ppc/fft_altivec.o ppc/gmc_altivec.o ppc/fdct_altivec.o \ |
344 | ppc/dsputil_h264_altivec.o | |
59925ef2 BF |
345 | endif |
346 | ||
0c6bd2ea B |
347 | ifeq ($(TARGET_ARCH_SH4),yes) |
348 | OBJS+= sh4/idct_sh4.o sh4/dsputil_sh4.o sh4/dsputil_align.o | |
349 | endif | |
350 | ||
bb476ff3 | 351 | ifeq ($(TARGET_ARCH_SPARC),yes) |
44f54ceb | 352 | OBJS+=sparc/dsputil_vis.o |
bb476ff3 JM |
353 | sparc/%.o: sparc/%.c |
354 | $(CC) -mcpu=ultrasparc -mtune=ultrasparc $(CFLAGS) -c -o $@ $< | |
355 | endif | |
356 | ifeq ($(TARGET_ARCH_SPARC64),yes) | |
44f54ceb MN |
357 | CFLAGS+= -mcpu=ultrasparc -mtune=ultrasparc |
358 | endif | |
359 | ||
bb7d4939 | 360 | SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S) |
ff4ec49e | 361 | OBJS := $(OBJS) $(ASM_OBJS) |
980fc7b8 | 362 | |
f3ec2d46 | 363 | LIB= $(LIBPREF)avcodec$(LIBSUF) |
0fd94442 | 364 | ifeq ($(BUILD_SHARED),yes) |
f3ec2d46 | 365 | SLIB= $(SLIBPREF)avcodec$(SLIBSUF) |
0fd94442 | 366 | endif |
6d2abd6b | 367 | TESTS= imgresample-test dct-test motion-test fft-test |
de6d9b64 | 368 | |
0fd94442 | 369 | all: $(LIB) $(SLIB) |
ff4ec49e | 370 | |
bc634f6f ZK |
371 | amrlibs: |
372 | $(MAKE) -C amr spclib fipoplib | |
373 | ||
c10e9f70 | 374 | tests: apiexample cpuid_test $(TESTS) |
de6d9b64 | 375 | |
bc634f6f | 376 | $(LIB): $(OBJS) $(AMRLIBS) |
de6d9b64 | 377 | rm -f $@ |
bc634f6f | 378 | $(AR) rc $@ $(OBJS) $(AMREXTRALIBS) |
be7109c1 | 379 | $(RANLIB) $@ |
ff4ec49e | 380 | |
811b32ed | 381 | $(SLIB): $(OBJS) |
91378af4 | 382 | ifeq ($(CONFIG_PP),yes) |
8b8e1c55 | 383 | $(MAKE) -C libpostproc |
91378af4 | 384 | endif |
cf7412b5 FB |
385 | ifeq ($(CONFIG_WIN32),yes) |
386 | $(CC) $(SHFLAGS) -Wl,--output-def,$(@:.dll=.def) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS) | |
387 | -lib /machine:i386 /def:$(@:.dll=.def) | |
388 | else | |
1b8b121f | 389 | $(CC) $(SHFLAGS) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS) $(LDFLAGS) |
cf7412b5 | 390 | endif |
de6d9b64 FB |
391 | |
392 | dsputil.o: dsputil.c dsputil.h | |
393 | ||
bba9b16c MN |
394 | libpostproc/libpostproc.a: |
395 | $(MAKE) -C libpostproc | |
396 | ||
de6d9b64 FB |
397 | %.o: %.c |
398 | $(CC) $(CFLAGS) -c -o $@ $< | |
399 | ||
3d03c0a2 FB |
400 | %.o: %.S |
401 | $(CC) $(CFLAGS) -c -o $@ $< | |
402 | ||
811b32ed | 403 | depend: $(SRCS) |
a968e365 | 404 | $(CC) -MM $(CFLAGS) $^ 1>.depend |
e51d4def | 405 | |
980fc7b8 FB |
406 | dep: depend |
407 | ||
bc634f6f | 408 | clean: $(CLEANAMR) |
77b71ddc | 409 | rm -f *.o *.d *~ .depend $(LIB) $(SLIB) *.so i386/*.o i386/*~ \ |
3d03c0a2 | 410 | armv4l/*.o armv4l/*~ \ |
c34270f5 | 411 | mlib/*.o mlib/*~ \ |
1e98dffb | 412 | alpha/*.o alpha/*~ \ |
59925ef2 | 413 | ppc/*.o ppc/*~ \ |
d46aba26 | 414 | ps2/*.o ps2/*~ \ |
0c6bd2ea | 415 | sh4/*.o sh4/*~ \ |
bb476ff3 | 416 | sparc/*.o sparc/*~ \ |
57514323 ZK |
417 | liba52/*.o liba52/*~ \ |
418 | apiexample $(TESTS) | |
64094f37 | 419 | $(MAKE) -C libpostproc clean |
de6d9b64 | 420 | |
800d7ceb | 421 | distclean: clean |
980fc7b8 FB |
422 | rm -f Makefile.bak .depend |
423 | ||
bc634f6f ZK |
424 | cleanamr: |
425 | $(MAKE) -C amr clean | |
426 | ||
427 | cleanamrfloat: | |
428 | rm -f amr_float/*.o | |
429 | ||
d663a1fd MN |
430 | cleanamrwbfloat: |
431 | $(MAKE) -C amrwb_float -f makefile.gcc clean | |
432 | ||
de6d9b64 FB |
433 | # api example program |
434 | apiexample: apiexample.c $(LIB) | |
cfda33cb | 435 | $(CC) $(CFLAGS) -o $@ $< $(LIB) $(EXTRALIBS) -lm |
de6d9b64 | 436 | |
c10e9f70 NK |
437 | # cpuid test |
438 | cpuid_test: i386/cputest.c | |
439 | $(CC) $(CFLAGS) -D__TEST__ -o $@ $< | |
440 | ||
de6d9b64 FB |
441 | # testing progs |
442 | ||
443 | imgresample-test: imgresample.c | |
6acce86b | 444 | $(CC) $(CFLAGS) -DTEST -o $@ $^ -lm |
de6d9b64 | 445 | |
9ebc63a9 | 446 | dct-test: dct-test.o fdctref.o $(LIB) |
90cee0c3 | 447 | $(CC) -o $@ $^ -lm |
d771bcae | 448 | |
4300403e | 449 | motion-test: motion_test.o $(LIB) |
6acce86b | 450 | $(CC) -o $@ $^ -lm |
4300403e | 451 | |
923ceff8 | 452 | fft-test: fft-test.o $(LIB) |
6d2abd6b FB |
453 | $(CC) -o $@ $^ -lm |
454 | ||
0fd94442 | 455 | ifeq ($(BUILD_SHARED),yes) |
cb728d79 FB |
456 | install: all install-headers |
457 | ifeq ($(CONFIG_WIN32),yes) | |
65d1bea2 | 458 | install $(INSTALLSTRIP) -m 755 $(SLIB) "$(prefix)" |
cb728d79 | 459 | else |
cc973ecb LB |
460 | install -d $(libdir) |
461 | install $(INSTALLSTRIP) -m 755 $(SLIB) $(libdir)/libavcodec-$(VERSION).so | |
462 | ln -sf libavcodec-$(VERSION).so $(libdir)/libavcodec.so | |
c1325d18 | 463 | ldconfig || true |
cb728d79 | 464 | endif |
91378af4 | 465 | ifeq ($(CONFIG_PP),yes) |
8b8e1c55 | 466 | $(MAKE) -C libpostproc $@ |
91378af4 | 467 | endif |
cb728d79 FB |
468 | else |
469 | install: | |
0fd94442 | 470 | endif |
773cefc6 | 471 | |
cb728d79 | 472 | installlib: all install-headers |
cc973ecb | 473 | install -m 644 $(LIB) "$(libdir)" |
cb728d79 FB |
474 | |
475 | install-headers: | |
476 | mkdir -p "$(prefix)/include/ffmpeg" | |
07bd15c3 FR |
477 | install -m 644 $(SRC_PATH)/libavcodec/avcodec.h \ |
478 | $(SRC_PATH)/libavcodec/common.h \ | |
479 | $(SRC_PATH)/libavcodec/rational.h \ | |
cb728d79 | 480 | "$(prefix)/include/ffmpeg" |
def4272a AJ |
481 | install -d $(libdir)/pkgconfig |
482 | install -m 644 ../libavcodec.pc $(libdir)/pkgconfig | |
773cefc6 | 483 | |
d771bcae FB |
484 | # |
485 | # include dependency files if they exist | |
486 | # | |
487 | ifneq ($(wildcard .depend),) | |
488 | include .depend | |
489 | endif |