Makefile 17.9 KB
Newer Older
1 2
#
# libavcodec Makefile
3
# (c) 2000-2005 Fabrice Bellard
4
#
5 6
include ../config.mak

F
Fabrice Bellard 已提交
7
# NOTE: -I.. is needed to include config.h
8
CFLAGS=-DHAVE_AV_CONFIG_H -I.. -I$(SRC_PATH)/libavutil $(OPTFLAGS) \
9
       -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE $(AMR_CFLAGS)
F
Fabrice Bellard 已提交
10

11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
OBJS= bitstream.o \
      utils.o \
      allcodecs.o \
      mpegvideo.o \
      jrevdct.o \
      jfdctfst.o \
      jfdctint.o\
      mjpeg.o \
      resample.o \
      resample2.o \
      dsputil.o \
      motion_est.o \
      imgconvert.o \
      mpeg12.o \
      mpegaudiodec.o \
      simple_idct.o \
      ratecontrol.o \
      eval.o \
      error_resilience.o \
      fft.o \
      mdct.o \
      raw.o \
      golomb.o \
      cabac.o\
      faandct.o \
      parser.o \
      vp3dsp.o \
      h264idct.o \
      rangecoder.o \
      pnm.o \
      h263.o \
      msmpeg4.o \
      h263dec.o \
44 45
      opt.o \
      bitstream_filter.o \
M
Michael Niedermayer 已提交
46
      audioconvert.o \
47

F
Fabrice Bellard 已提交
48

N
Nico Sabbi 已提交
49
HEADERS = avcodec.h opt.h
L
Luca Abeni 已提交
50 51 52
ifneq ($(CONFIG_SWSCALER),yes)
HEADERS += swscale.h
endif
53

M
Måns Rullgård 已提交
54 55 56 57 58 59 60 61
OBJS-$(CONFIG_AASC_DECODER)            += aasc.o
OBJS-$(CONFIG_AC3_ENCODER)             += ac3enc.o
OBJS-$(CONFIG_ALAC_DECODER)            += alac.o
OBJS-$(CONFIG_ASV1_DECODER)            += asv1.o
OBJS-$(CONFIG_ASV1_ENCODER)            += asv1.o
OBJS-$(CONFIG_ASV2_DECODER)            += asv1.o
OBJS-$(CONFIG_ASV2_ENCODER)            += asv1.o
OBJS-$(CONFIG_AVS_DECODER)             += avs.o
62
OBJS-$(CONFIG_BMP_DECODER)             += bmp.o
M
Måns Rullgård 已提交
63 64 65 66
OBJS-$(CONFIG_CAVS_DECODER)            += cavs.o cavsdsp.o
OBJS-$(CONFIG_CINEPAK_DECODER)         += cinepak.o
OBJS-$(CONFIG_CLJR_DECODER)            += cljr.o
OBJS-$(CONFIG_CLJR_ENCODER)            += cljr.o
67 68
OBJS-$(CONFIG_COOK_DECODER)            += cook.o
OBJS-$(CONFIG_CSCD_DECODER)            += cscd.o lzo.o
M
Måns Rullgård 已提交
69 70 71 72 73 74 75 76 77 78
OBJS-$(CONFIG_CYUV_DECODER)            += cyuv.o
OBJS-$(CONFIG_DVBSUB_DECODER)          += dvbsubdec.o
OBJS-$(CONFIG_DVBSUB_ENCODER)          += dvbsub.o
OBJS-$(CONFIG_DVDSUB_DECODER)          += dvdsub.o
OBJS-$(CONFIG_DVDSUB_ENCODER)          += dvdsubenc.o
OBJS-$(CONFIG_DVVIDEO_DECODER)         += dv.o
OBJS-$(CONFIG_DVVIDEO_ENCODER)         += dv.o
OBJS-$(CONFIG_EIGHTBPS_DECODER)        += 8bps.o
OBJS-$(CONFIG_FFV1_DECODER)            += ffv1.o
OBJS-$(CONFIG_FFV1_ENCODER)            += ffv1.o
79 80
OBJS-$(CONFIG_FFVHUFF_DECODER)         += huffyuv.o
OBJS-$(CONFIG_FFVHUFF_ENCODER)         += huffyuv.o
M
Måns Rullgård 已提交
81 82
OBJS-$(CONFIG_FLAC_DECODER)            += flac.o
OBJS-$(CONFIG_FLAC_ENCODER)            += flacenc.o
83
OBJS-$(CONFIG_FLASHSV_DECODER)         += flashsv.o
M
Måns Rullgård 已提交
84 85 86 87 88 89 90 91 92 93 94 95
OBJS-$(CONFIG_FLIC_DECODER)            += flicvideo.o
OBJS-$(CONFIG_FOURXM_DECODER)          += 4xm.o
OBJS-$(CONFIG_FRAPS_DECODER)           += fraps.o
OBJS-$(CONFIG_H261_DECODER)            += h261.o
OBJS-$(CONFIG_H261_ENCODER)            += h261.o
OBJS-$(CONFIG_H264_DECODER)            += h264.o
OBJS-$(CONFIG_HUFFYUV_DECODER)         += huffyuv.o
OBJS-$(CONFIG_HUFFYUV_ENCODER)         += huffyuv.o
OBJS-$(CONFIG_IDCIN_DECODER)           += idcinvideo.o
OBJS-$(CONFIG_INDEO2_DECODER)          += indeo2.o
OBJS-$(CONFIG_INDEO3_DECODER)          += indeo3.o
OBJS-$(CONFIG_INTERPLAY_VIDEO_DECODER) += interplayvideo.o
96
OBJS-$(CONFIG_INTERPLAY_DPCM_DECODER)  += dpcm.o
M
Måns Rullgård 已提交
97 98 99 100
OBJS-$(CONFIG_KMVC_DECODER)            += kmvc.o
OBJS-$(CONFIG_LOCO_DECODER)            += loco.o
OBJS-$(CONFIG_MACE3_DECODER)           += mace.o
OBJS-$(CONFIG_MACE6_DECODER)           += mace.o
101
OBJS-$(CONFIG_MMVIDEO_DECODER)         += mmvideo.o
M
Måns Rullgård 已提交
102 103 104
OBJS-$(CONFIG_MP2_ENCODER)             += mpegaudio.o
OBJS-$(CONFIG_MSRLE_DECODER)           += msrle.o
OBJS-$(CONFIG_MSVIDEO1_DECODER)        += msvideo1.o
105 106
OBJS-$(CONFIG_MSZH_DECODER)            += lcl.o
OBJS-$(CONFIG_NUV_DECODER)             += nuv.o rtjpeg.o lzo.o
M
Måns Rullgård 已提交
107 108 109 110 111 112 113 114 115
OBJS-$(CONFIG_PNG_DECODER)             += png.o
OBJS-$(CONFIG_PNG_ENCODER)             += png.o
OBJS-$(CONFIG_QDM2_DECODER)            += qdm2.o
OBJS-$(CONFIG_QDRAW_DECODER)           += qdrw.o
OBJS-$(CONFIG_QPEG_DECODER)            += qpeg.o
OBJS-$(CONFIG_QTRLE_DECODER)           += qtrle.o
OBJS-$(CONFIG_RA_144_DECODER)          += ra144.o
OBJS-$(CONFIG_RA_288_DECODER)          += ra288.o
OBJS-$(CONFIG_ROQ_DECODER)             += roqvideo.o
116
OBJS-$(CONFIG_ROQ_DPCM_DECODER)        += dpcm.o
M
Måns Rullgård 已提交
117 118 119 120 121 122 123
OBJS-$(CONFIG_RPZA_DECODER)            += rpza.o
OBJS-$(CONFIG_RV10_DECODER)            += rv10.o
OBJS-$(CONFIG_RV10_ENCODER)            += rv10.o
OBJS-$(CONFIG_RV20_DECODER)            += rv10.o
OBJS-$(CONFIG_RV20_ENCODER)            += rv10.o
OBJS-$(CONFIG_SHORTEN_DECODER)         += shorten.o
OBJS-$(CONFIG_SMACKAUD_DECODER)        += smacker.o
124
OBJS-$(CONFIG_SMACKER_DECODER)         += smacker.o
M
Måns Rullgård 已提交
125 126 127
OBJS-$(CONFIG_SMC_DECODER)             += smc.o
OBJS-$(CONFIG_SNOW_DECODER)            += snow.o
OBJS-$(CONFIG_SNOW_ENCODER)            += snow.o
128
OBJS-$(CONFIG_SOL_DPCM_DECODER)        += dpcm.o
M
Måns Rullgård 已提交
129 130 131 132 133
OBJS-$(CONFIG_SONIC_DECODER)           += sonic.o
OBJS-$(CONFIG_SONIC_ENCODER)           += sonic.o
OBJS-$(CONFIG_SONIC_LS_DECODER)        += sonic.o
OBJS-$(CONFIG_SVQ1_DECODER)            += svq1.o
OBJS-$(CONFIG_SVQ1_ENCODER)            += svq1.o
134 135
OBJS-$(CONFIG_SVQ3_DECODER)            += h264.o
OBJS-$(CONFIG_THEORA_DECODER)          += vp3.o
M
Måns Rullgård 已提交
136 137 138 139
OBJS-$(CONFIG_TRUEMOTION1_DECODER)     += truemotion1.o
OBJS-$(CONFIG_TRUEMOTION2_DECODER)     += truemotion2.o
OBJS-$(CONFIG_TRUESPEECH_DECODER)      += truespeech.o
OBJS-$(CONFIG_TSCC_DECODER)            += tscc.o
140
OBJS-$(CONFIG_TTA_DECODER)             += tta.o
M
Måns Rullgård 已提交
141
OBJS-$(CONFIG_ULTI_DECODER)            += ulti.o
142
OBJS-$(CONFIG_VC1_DECODER)             += vc1.o vc1dsp.o
M
Måns Rullgård 已提交
143 144 145
OBJS-$(CONFIG_VCR1_DECODER)            += vcr1.o
OBJS-$(CONFIG_VCR1_ENCODER)            += vcr1.o
OBJS-$(CONFIG_VMDAUDIO_DECODER)        += vmdav.o
146
OBJS-$(CONFIG_VMDVIDEO_DECODER)        += vmdav.o
147
OBJS-$(CONFIG_VMNC_DECODER)            += vmnc.o
O
Oded Shimon 已提交
148
OBJS-$(CONFIG_VORBIS_DECODER)          += vorbis.o vorbis_data.o
O
Oded Shimon 已提交
149
OBJS-$(CONFIG_VORBIS_ENCODER)          += vorbis_enc.o vorbis_data.o
M
Måns Rullgård 已提交
150
OBJS-$(CONFIG_VP3_DECODER)             += vp3.o
A
Aurelien Jacobs 已提交
151 152
OBJS-$(CONFIG_VP5_DECODER)             += vp5.o vp56.o vp56data.o
OBJS-$(CONFIG_VP6_DECODER)             += vp6.o vp56.o vp56data.o
M
Måns Rullgård 已提交
153
OBJS-$(CONFIG_VQA_DECODER)             += vqavideo.o
K
Kostya Shishkov 已提交
154
OBJS-$(CONFIG_WAVPACK_DECODER)         += wavpack.o
M
Måns Rullgård 已提交
155 156
OBJS-$(CONFIG_WMAV1_DECODER)           += wmadec.o
OBJS-$(CONFIG_WMAV2_DECODER)           += wmadec.o
157
OBJS-$(CONFIG_WMV3_DECODER)            += vc1.o
M
Måns Rullgård 已提交
158 159
OBJS-$(CONFIG_WNV1_DECODER)            += wnv1.o
OBJS-$(CONFIG_WS_SND1_DECODER)         += ws-snd1.o
160
OBJS-$(CONFIG_XAN_DPCM_DECODER)        += dpcm.o
M
Måns Rullgård 已提交
161 162 163
OBJS-$(CONFIG_XAN_WC3_DECODER)         += xan.o
OBJS-$(CONFIG_XAN_WC4_DECODER)         += xan.o
OBJS-$(CONFIG_XL_DECODER)              += xl.o
164 165
OBJS-$(CONFIG_ZLIB_DECODER)            += lcl.o
OBJS-$(CONFIG_ZLIB_ENCODER)            += lcl.o
M
Måns Rullgård 已提交
166 167
OBJS-$(CONFIG_ZMBV_DECODER)            += zmbv.o

168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204
OBJS-$(CONFIG_PCM_S32LE_DECODER)       += pcm.o
OBJS-$(CONFIG_PCM_S32LE_ENCODER)       += pcm.o
OBJS-$(CONFIG_PCM_S32BE_DECODER)       += pcm.o
OBJS-$(CONFIG_PCM_S32BE_ENCODER)       += pcm.o
OBJS-$(CONFIG_PCM_U32LE_DECODER)       += pcm.o
OBJS-$(CONFIG_PCM_U32LE_ENCODER)       += pcm.o
OBJS-$(CONFIG_PCM_U32BE_DECODER)       += pcm.o
OBJS-$(CONFIG_PCM_U32BE_ENCODER)       += pcm.o
OBJS-$(CONFIG_PCM_S24LE_DECODER)       += pcm.o
OBJS-$(CONFIG_PCM_S24LE_ENCODER)       += pcm.o
OBJS-$(CONFIG_PCM_S24BE_DECODER)       += pcm.o
OBJS-$(CONFIG_PCM_S24BE_ENCODER)       += pcm.o
OBJS-$(CONFIG_PCM_U24LE_DECODER)       += pcm.o
OBJS-$(CONFIG_PCM_U24LE_ENCODER)       += pcm.o
OBJS-$(CONFIG_PCM_U24BE_DECODER)       += pcm.o
OBJS-$(CONFIG_PCM_U24BE_ENCODER)       += pcm.o
OBJS-$(CONFIG_PCM_S24DAUD_DECODER)     += pcm.o
OBJS-$(CONFIG_PCM_S24DAUD_ENCODER)     += pcm.o
OBJS-$(CONFIG_PCM_S16LE_DECODER)       += pcm.o
OBJS-$(CONFIG_PCM_S16LE_ENCODER)       += pcm.o
OBJS-$(CONFIG_PCM_S16BE_DECODER)       += pcm.o
OBJS-$(CONFIG_PCM_S16BE_ENCODER)       += pcm.o
OBJS-$(CONFIG_PCM_U16LE_DECODER)       += pcm.o
OBJS-$(CONFIG_PCM_U16LE_ENCODER)       += pcm.o
OBJS-$(CONFIG_PCM_U16BE_DECODER)       += pcm.o
OBJS-$(CONFIG_PCM_U16BE_ENCODER)       += pcm.o
OBJS-$(CONFIG_PCM_S8_DECODER)          += pcm.o
OBJS-$(CONFIG_PCM_S8_ENCODER)          += pcm.o
OBJS-$(CONFIG_PCM_U8_DECODER)          += pcm.o
OBJS-$(CONFIG_PCM_U8_ENCODER)          += pcm.o
OBJS-$(CONFIG_PCM_ALAW_DECODER)        += pcm.o
OBJS-$(CONFIG_PCM_ALAW_ENCODER)        += pcm.o
OBJS-$(CONFIG_PCM_MULAW_DECODER)       += pcm.o
OBJS-$(CONFIG_PCM_MULAW_ENCODER)       += pcm.o

OBJS-$(CONFIG_ADPCM_4XM_DECODER)       += adpcm.o
OBJS-$(CONFIG_ADPCM_4XM_ENCODER)       += adpcm.o
205 206
OBJS-$(CONFIG_ADPCM_ADX_DECODER)       += adx.o
OBJS-$(CONFIG_ADPCM_ADX_ENCODER)       += adx.o
207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
OBJS-$(CONFIG_ADPCM_CT_DECODER)        += adpcm.o
OBJS-$(CONFIG_ADPCM_CT_ENCODER)        += adpcm.o
OBJS-$(CONFIG_ADPCM_EA_DECODER)        += adpcm.o
OBJS-$(CONFIG_ADPCM_EA_ENCODER)        += adpcm.o
OBJS-$(CONFIG_ADPCM_G726_DECODER)      += g726.o
OBJS-$(CONFIG_ADPCM_G726_ENCODER)      += g726.o
OBJS-$(CONFIG_ADPCM_IMA_DK3_DECODER)   += adpcm.o
OBJS-$(CONFIG_ADPCM_IMA_DK3_ENCODER)   += adpcm.o
OBJS-$(CONFIG_ADPCM_IMA_DK4_DECODER)   += adpcm.o
OBJS-$(CONFIG_ADPCM_IMA_DK4_ENCODER)   += adpcm.o
OBJS-$(CONFIG_ADPCM_IMA_QT_DECODER)    += adpcm.o
OBJS-$(CONFIG_ADPCM_IMA_QT_ENCODER)    += adpcm.o
OBJS-$(CONFIG_ADPCM_IMA_SMJPEG_DECODER)+= adpcm.o
OBJS-$(CONFIG_ADPCM_IMA_SMJPEG_ENCODER)+= adpcm.o
OBJS-$(CONFIG_ADPCM_IMA_WAV_DECODER)   += adpcm.o
OBJS-$(CONFIG_ADPCM_IMA_WAV_ENCODER)   += adpcm.o
OBJS-$(CONFIG_ADPCM_IMA_WS_DECODER)    += adpcm.o
OBJS-$(CONFIG_ADPCM_IMA_WS_ENCODER)    += adpcm.o
OBJS-$(CONFIG_ADPCM_MS_DECODER)        += adpcm.o
OBJS-$(CONFIG_ADPCM_MS_ENCODER)        += adpcm.o
OBJS-$(CONFIG_ADPCM_SBPRO_2_DECODER)   += adpcm.o
OBJS-$(CONFIG_ADPCM_SBPRO_2_ENCODER)   += adpcm.o
OBJS-$(CONFIG_ADPCM_SBPRO_3_DECODER)   += adpcm.o
OBJS-$(CONFIG_ADPCM_SBPRO_3_ENCODER)   += adpcm.o
OBJS-$(CONFIG_ADPCM_SBPRO_4_DECODER)   += adpcm.o
OBJS-$(CONFIG_ADPCM_SBPRO_4_ENCODER)   += adpcm.o
OBJS-$(CONFIG_ADPCM_SWF_DECODER)       += adpcm.o
OBJS-$(CONFIG_ADPCM_SWF_ENCODER)       += adpcm.o
OBJS-$(CONFIG_ADPCM_XA_DECODER)        += adpcm.o
OBJS-$(CONFIG_ADPCM_XA_ENCODER)        += adpcm.o
OBJS-$(CONFIG_ADPCM_YAMAHA_DECODER)    += adpcm.o
OBJS-$(CONFIG_ADPCM_YAMAHA_ENCODER)    += adpcm.o

M
Måns Rullgård 已提交
240 241 242 243 244 245 246
OBJS-$(CONFIG_FAAD)                    += faad.o
OBJS-$(CONFIG_FAAC)                    += faac.o
OBJS-$(CONFIG_XVID)                    += xvidff.o xvid_rc.o
OBJS-$(CONFIG_X264)                    += x264.o
OBJS-$(CONFIG_MP3LAME)                 += mp3lameaudio.o
OBJS-$(CONFIG_LIBVORBIS)               += oggvorbis.o
OBJS-$(CONFIG_LIBGSM)                  += libgsm.o
247

Z
Zdenek Kabelac 已提交
248
# currently using liba52 for ac3 decoding
M
Måns Rullgård 已提交
249
OBJS-$(CONFIG_AC3)                     += a52dec.o
Z
Zdenek Kabelac 已提交
250 251

# using builtin liba52 or runtime linked liba52.so.0
M
Måns Rullgård 已提交
252 253 254 255 256 257 258
OBJS-$(CONFIG_AC3)$(CONFIG_A52BIN)     += liba52/bit_allocate.o \
                                          liba52/bitstream.o    \
                                          liba52/downmix.o      \
                                          liba52/imdct.o        \
                                          liba52/parse.o        \
                                          liba52/crc.o          \
                                          liba52/resample.o
259

260
# currently using libdts for dts decoding
M
Måns Rullgård 已提交
261
OBJS-$(CONFIG_DTS)                     += dtsdec.o
262

263 264
OBJS-$(CONFIG_AMR)                     += amr.o
OBJS-$(CONFIG_AMR_NB)                  += amr_float/sp_dec.o     \
M
Måns Rullgård 已提交
265 266 267
                                          amr_float/sp_enc.o     \
                                          amr_float/interf_dec.o \
                                          amr_float/interf_enc.o
268

269
ifeq ($(CONFIG_AMR_NB_FIXED),yes)
M
Måns Rullgård 已提交
270 271
EXTRAOBJS += amr/*.o
EXTRADEPS=amrlibs
N
Nilesh Bansal 已提交
272
endif
273

M
Måns Rullgård 已提交
274
OBJS-$(CONFIG_AMR_WB)                  += amrwb_float/dec_acelp.o \
M
Måns Rullgård 已提交
275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291
                                          amrwb_float/dec_dtx.o   \
                                          amrwb_float/dec_gain.o  \
                                          amrwb_float/dec_if.o    \
                                          amrwb_float/dec_lpc.o   \
                                          amrwb_float/dec_main.o  \
                                          amrwb_float/dec_rom.o   \
                                          amrwb_float/dec_util.o  \
                                          amrwb_float/enc_acelp.o \
                                          amrwb_float/enc_dtx.o   \
                                          amrwb_float/enc_gain.o  \
                                          amrwb_float/enc_if.o    \
                                          amrwb_float/enc_lpc.o   \
                                          amrwb_float/enc_main.o  \
                                          amrwb_float/enc_rom.o   \
                                          amrwb_float/enc_util.o  \
                                          amrwb_float/if_rom.o

292 293 294 295 296 297 298 299 300 301 302 303 304 305
OBJS-$(CONFIG_AAC_PARSER)              += parser.o
OBJS-$(CONFIG_AC3_PARSER)              += parser.o
OBJS-$(CONFIG_CAVS_PARSER)             += parser.o
OBJS-$(CONFIG_DVBSUB_PARSER)           += dvbsubdec.o
OBJS-$(CONFIG_DVDSUB_PARSER)           += dvdsub.o
OBJS-$(CONFIG_H261_PARSER)             += h261.o
OBJS-$(CONFIG_H263_PARSER)             += h263dec.o
OBJS-$(CONFIG_H264_PARSER)             += h264.o
OBJS-$(CONFIG_MJPEG_PARSER)            += mjpeg.o
OBJS-$(CONFIG_MPEG4VIDEO_PARSER)       += parser.o
OBJS-$(CONFIG_MPEGAUDIO_PARSER)        += parser.o
OBJS-$(CONFIG_MPEGVIDEO_PARSER)        += parser.o
OBJS-$(CONFIG_PNM_PARSER)              += pnm.o

M
Måns Rullgård 已提交
306 307 308 309 310 311
OBJS-$(HAVE_PTHREADS)                  += pthread.o
OBJS-$(HAVE_W32THREADS)                += w32thread.o
OBJS-$(HAVE_OS2THREADS)                += os2thread.o
OBJS-$(HAVE_BEOSTHREADS)               += beosthread.o

OBJS-$(HAVE_XVMC_ACCEL)                += xvmcvideo.o
312

L
Luca Abeni 已提交
313 314 315 316
ifneq ($(CONFIG_SWSCALER),yes)
OBJS += imgresample.o
endif

F
Fabrice Bellard 已提交
317
# i386 mmx specific stuff
318
ifeq ($(TARGET_MMX),yes)
319 320 321 322 323 324
OBJS += i386/fdct_mmx.o \
        i386/cputest.o \
        i386/dsputil_mmx.o \
        i386/mpegvideo_mmx.o \
        i386/motion_est_mmx.o \
        i386/simple_idct_mmx.o \
325
        i386/idct_mmx_xvid.o \
326 327 328 329 330 331 332
        i386/fft_sse.o \
        i386/vp3dsp_mmx.o \
        i386/vp3dsp_sse2.o \
        i386/fft_3dn.o \
        i386/fft_3dn2.o \
        i386/snowdsp_mmx.o \

M
Michael Niedermayer 已提交
333
ifeq ($(CONFIG_GPL),yes)
334
OBJS += i386/idct_mmx.o
M
Michael Niedermayer 已提交
335
endif
336 337 338
ifeq ($(CONFIG_CAVS_DECODER),yes)
OBJS += i386/cavsdsp_mmx.o
endif
339
ifeq ($(TARGET_BUILTIN_VECTOR),yes)
340
i386/fft_sse.o: CFLAGS+= -msse
Z
Zdenek Kabelac 已提交
341
depend: CFLAGS+= -msse
342
endif
343
ifeq ($(TARGET_BUILTIN_3DNOW),yes)
344
i386/fft_3dn.o: CFLAGS+= -m3dnow
345 346 347 348 349 350
ifeq ($(TARGET_ARCH_X86),yes)
i386/fft_3dn2.o: CFLAGS+= -march=athlon
endif
ifeq ($(TARGET_ARCH_X86_64),yes)
i386/fft_3dn2.o: CFLAGS+= -march=k8
endif
351
endif
F
Fabrice Bellard 已提交
352 353
endif

F
Fabrice Bellard 已提交
354
# armv4l specific stuff
M
Måns Rullgård 已提交
355 356 357 358 359 360 361
ASM_OBJS-$(TARGET_ARCH_ARMV4L)         += armv4l/jrevdct_arm.o     \
                                          armv4l/simple_idct_arm.o \
                                          armv4l/dsputil_arm_s.o
OBJS-$(TARGET_ARCH_ARMV4L)             += armv4l/dsputil_arm.o   \
                                          armv4l/mpegvideo_arm.o
OBJS-$(TARGET_IWMMXT)                  += armv4l/dsputil_iwmmxt.o   \
                                          armv4l/mpegvideo_iwmmxt.o
M
Måns Rullgård 已提交
362
ASM_OBJS-$(TARGET_ARMV5TE)             += armv4l/simple_idct_armv5te.o
M
Måns Rullgård 已提交
363 364 365 366

# sun sparc
OBJS-$(TARGET_ARCH_SPARC)              += sparc/dsputil_vis.o
sparc/dsputil_vis.o: CFLAGS += -mcpu=ultrasparc -mtune=ultrasparc
F
Fabrice Bellard 已提交
367

F
Fabrice Bellard 已提交
368
# sun mediaLib specific stuff
M
Måns Rullgård 已提交
369
OBJS-$(HAVE_MLIB)                      += mlib/dsputil_mlib.o
370

371
# alpha specific stuff
M
Måns Rullgård 已提交
372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391
OBJS-$(TARGET_ARCH_ALPHA)              += alpha/dsputil_alpha.o     \
                                          alpha/mpegvideo_alpha.o   \
                                          alpha/simple_idct_alpha.o \
                                          alpha/motion_est_alpha.o
ASM_OBJS-$(TARGET_ARCH_ALPHA)          += alpha/dsputil_alpha_asm.o  \
                                          alpha/motion_est_mvi_asm.o

OBJS-$(TARGET_ARCH_POWERPC)            += ppc/dsputil_ppc.o ppc/mpegvideo_ppc.o
OBJS-$(TARGET_MMI)                     += ps2/dsputil_mmi.o   \
                                          ps2/idct_mmi.o      \
                                          ps2/mpegvideo_mmi.o
OBJS-$(TARGET_ARCH_SH4)                += sh4/idct_sh4.o      \
                                          sh4/dsputil_sh4.o   \
                                          sh4/dsputil_align.o
OBJS-$(TARGET_ALTIVEC)                 += ppc/dsputil_altivec.o      \
                                          ppc/mpegvideo_altivec.o    \
                                          ppc/idct_altivec.o         \
                                          ppc/fft_altivec.o          \
                                          ppc/gmc_altivec.o          \
                                          ppc/fdct_altivec.o         \
392 393
                                          ppc/h264_altivec.o 	     \
                                          ppc/snow_altivec.o 	     \
L
Luca Barbato 已提交
394 395
                                          ppc/vc1dsp_altivec.o       \
                                          ppc/float_altivec.o
M
Michael Benjamin 已提交
396
OBJS-$(TARGET_ARCH_BFIN)               += bfin/dsputil_bfin.o
M
Måns Rullgård 已提交
397 398 399 400

CFLAGS += $(CFLAGS-yes)
OBJS += $(OBJS-yes)
ASM_OBJS += $(ASM_OBJS-yes)
401

402
NAME=avcodec
N
Nick Kurshev 已提交
403
ifeq ($(BUILD_SHARED),yes)
404 405
LIBVERSION=$(LAVCVERSION)
LIBMAJOR=$(LAVCMAJOR)
N
Nick Kurshev 已提交
406
endif
D
Diego Biurrun 已提交
407
TESTS= cpuid_test imgresample-test dct-test motion-test fft-test
F
Fabrice Bellard 已提交
408

409 410
include $(SRC_PATH)/common.mak

Z
Zdenek Kabelac 已提交
411 412 413
amrlibs:
	$(MAKE) -C amr spclib fipoplib

D
Diego Biurrun 已提交
414
tests: apiexample $(TESTS)
F
Fabrice Bellard 已提交
415

416
clean::
417
	rm -f \
418
	   i386/*.o i386/*~ \
F
Fabrice Bellard 已提交
419
	   armv4l/*.o armv4l/*~ \
F
Fabrice Bellard 已提交
420
	   mlib/*.o mlib/*~ \
421
	   alpha/*.o alpha/*~ \
422
	   ppc/*.o ppc/*~ \
423
	   ps2/*.o ps2/*~ \
424
	   sh4/*.o sh4/*~ \
425
	   sparc/*.o sparc/*~ \
Z
Zdenek Kabelac 已提交
426
	   liba52/*.o liba52/*~ \
427
	   amr_float/*.o \
Z
Zdenek Kabelac 已提交
428
	   apiexample $(TESTS)
429 430
	-$(MAKE) -C amr clean
	-$(MAKE) -C amrwb_float -f makefile.gcc clean
431

F
Fabrice Bellard 已提交
432 433
# api example program
apiexample: apiexample.c $(LIB)
D
Diego Biurrun 已提交
434
	$(CC) $(CFLAGS) -o $@ $^ $(EXTRALIBS)
F
Fabrice Bellard 已提交
435

N
Nick Kurshev 已提交
436 437 438 439
# cpuid test
cpuid_test: i386/cputest.c
	$(CC) $(CFLAGS) -D__TEST__ -o $@ $<

F
Fabrice Bellard 已提交
440 441
# testing progs

442
imgresample-test: imgresample.c $(LIB)
M
Michael Niedermayer 已提交
443
	$(CC) $(CFLAGS) -DTEST -o $@ $^ -lm
F
Fabrice Bellard 已提交
444

F
Fabrice Bellard 已提交
445
dct-test: dct-test.o fdctref.o $(LIB)
D
Diego Biurrun 已提交
446
	$(CC) -o $@ $^ $(EXTRALIBS)
447

F
Fabrice Bellard 已提交
448
motion-test: motion_test.o $(LIB)
M
Michael Niedermayer 已提交
449
	$(CC) -o $@ $^ -lm
F
Fabrice Bellard 已提交
450

451
fft-test: fft-test.o $(LIB)
D
Diego Biurrun 已提交
452
	$(CC) -o $@ $^ $(EXTRALIBS)
D
Diego Biurrun 已提交
453 454

.PHONY: amrlibs tests