X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2FMakefile;h=d67fa1ae868c4418796edd97f03e58ec7dbb0b5c;hb=fe78f7cdaaf7b304ed81072688f92c10dabc778d;hp=0ee56e6b0b19ab5c94afc343b2ff0052ccdf606c;hpb=2a515c08f25dc4c78c09b4600358574ef34b4ea5;p=ffmpeg diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 0ee56e6b0b1..d67fa1ae868 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -1,28 +1,227 @@ # # libavcodec Makefile -# (c) 2000-2003 Fabrice Bellard +# (c) 2000-2005 Fabrice Bellard # include ../config.mak -VPATH=$(SRC_PATH)/libavcodec - # NOTE: -I.. is needed to include config.h -CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE $(AMR_CFLAGS) +CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -I.. -I$(SRC_PATH)/libavutil -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE $(AMR_CFLAGS) OBJS= bitstream.o utils.o mem.o allcodecs.o \ mpegvideo.o jrevdct.o jfdctfst.o jfdctint.o\ mpegaudio.o ac3enc.o mjpeg.o resample.o resample2.o dsputil.o \ motion_est.o imgconvert.o imgresample.o \ mpeg12.o mpegaudiodec.o pcm.o simple_idct.o \ - ratecontrol.o adpcm.o eval.o dv.o error_resilience.o \ - fft.o mdct.o mace.o huffyuv.o cyuv.o opts.o raw.o h264.o golomb.o \ - vp3.o asv1.o 4xm.o cabac.o ffv1.o ra144.o ra288.o vcr1.o cljr.o \ - roqvideo.o dpcm.o interplayvideo.o xan.o rpza.o cinepak.o msrle.o \ - msvideo1.o vqavideo.o idcinvideo.o adx.o rational.o faandct.o 8bps.o \ - smc.o parser.o flicvideo.o truemotion1.o vmdav.o lcl.o qtrle.o g726.o \ - flac.o vp3dsp.o integer.o snow.o tscc.o sonic.o ulti.o h264idct.o \ - qdrw.o xl.o rangecoder.o png.o pnm.o qpeg.o vc9.o h263.o h261.o \ - msmpeg4.o h263dec.o svq1.o rv10.o wmadec.o indeo3.o shorten.o loco.o + ratecontrol.o adpcm.o eval.o error_resilience.o \ + fft.o mdct.o raw.o golomb.o cabac.o\ + dpcm.o adx.o faandct.o parser.o g726.o \ + vp3dsp.o h264idct.o rangecoder.o pnm.o h263.o msmpeg4.o h263dec.o \ + opt.o + +HEADERS = avcodec.h dsputil.h + +ifeq ($(CONFIG_AASC_DECODER),yes) + OBJS+= aasc.o +endif +ifeq ($(CONFIG_ALAC_DECODER),yes) + OBJS+= alac.o +endif +ifneq ($(CONFIG_ASV1_DECODER)$(CONFIG_ASV1_ENCODER)$(CONFIG_ASV2_DECODER)$(CONFIG_ASV2_ENCODER),) + OBJS+= asv1.o +endif +ifeq ($(CONFIG_AVS_DECODER),yes) + OBJS+= avs.o +endif +ifeq ($(CONFIG_CINEPAK_DECODER),yes) + OBJS+= cinepak.o +endif +ifeq ($(CONFIG_COOK_DECODER),yes) + OBJS+= cook.o +endif +ifneq ($(CONFIG_CLJR_DECODER)$(CONFIG_CLJR_ENCODER),) + OBJS+= cljr.o +endif +ifeq ($(CONFIG_CYUV_DECODER),yes) + OBJS+= cyuv.o +endif +ifeq ($(CONFIG_DVBSUB_DECODER),yes) + OBJS+= dvbsubdec.o +endif +ifeq ($(CONFIG_DVBSUB_ENCODER),yes) + OBJS+= dvbsub.o +endif +ifeq ($(CONFIG_DVDSUB_DECODER),yes) + OBJS+= dvdsub.o +endif +ifeq ($(CONFIG_DVDSUB_ENCODER),yes) + OBJS+= dvdsubenc.o +endif +ifneq ($(CONFIG_DVVIDEO_DECODER)$(CONFIG_DVVIDEO_ENCODER),) + OBJS+= dv.o +endif +ifeq ($(CONFIG_EIGHTBPS_DECODER),yes) + OBJS+= 8bps.o +endif +ifneq ($(CONFIG_FFV1_DECODER)$(CONFIG_FFV1_ENCODER),) + OBJS+= ffv1.o +endif +ifeq ($(CONFIG_FLAC_DECODER),yes) + OBJS+= flac.o +endif +ifeq ($(CONFIG_FLIC_DECODER),yes) + OBJS+= flicvideo.o +endif +ifeq ($(CONFIG_FOURXM_DECODER),yes) + OBJS+= 4xm.o +endif +ifeq ($(CONFIG_FRAPS_DECODER),yes) + OBJS+= fraps.o +endif +ifneq ($(CONFIG_H261_DECODER)$(CONFIG_H261_ENCODER),) + OBJS+= h261.o +endif +ifneq ($(CONFIG_H264_DECODER)$(CONFIG_SVQ3_DECODER),) + OBJS+= h264.o +endif +ifneq ($(CONFIG_HUFFYUV_DECODER)$(CONFIG_HUFFYUV_ENCODER)$(CONFIG_FFVHUFF_DECODER)$(CONFIG_FFVHUFF_ENCODER),) + OBJS+= huffyuv.o +endif +ifeq ($(CONFIG_IDCIN_DECODER),yes) + OBJS+= idcinvideo.o +endif +ifeq ($(CONFIG_INDEO2_DECODER),yes) + OBJS+= indeo2.o +endif +ifeq ($(CONFIG_INDEO3_DECODER),yes) + OBJS+= indeo3.o +endif +ifeq ($(CONFIG_INTERPLAY_VIDEO_DECODER),yes) + OBJS+= interplayvideo.o +endif +ifneq ($(CONFIG_MSZH_DECODER)$(CONFIG_ZLIB_DECODER)$(CONFIG_ZLIB_ENCODER),) + OBJS+= lcl.o +endif +ifeq ($(CONFIG_LOCO_DECODER),yes) + OBJS+= loco.o +endif +ifneq ($(CONFIG_MACE3_DECODER)$(CONFIG_MACE6_DECODER),) + OBJS+= mace.o +endif +ifeq ($(CONFIG_MSRLE_DECODER),yes) + OBJS+= msrle.o +endif +ifeq ($(CONFIG_MSVIDEO1_DECODER),yes) + OBJS+= msvideo1.o +endif +ifneq ($(CONFIG_PNG_DECODER)$(CONFIG_PNG_ENCODER),) + OBJS+= png.o +endif +ifeq ($(CONFIG_QDM2_DECODER),yes) + OBJS+= qdm2.o +endif +ifeq ($(CONFIG_QDRAW_DECODER),yes) + OBJS+= qdrw.o +endif +ifeq ($(CONFIG_QPEG_DECODER),yes) + OBJS+= qpeg.o +endif +ifeq ($(CONFIG_QTRLE_DECODER),yes) + OBJS+= qtrle.o +endif +ifeq ($(CONFIG_RA_144_DECODER),yes) + OBJS+= ra144.o +endif +ifeq ($(CONFIG_RA_288_DECODER),yes) + OBJS+= ra288.o +endif +ifeq ($(CONFIG_ROQ_DECODER),yes) + OBJS+= roqvideo.o +endif +ifeq ($(CONFIG_RPZA_DECODER),yes) + OBJS+= rpza.o +endif +ifneq ($(CONFIG_RV10_DECODER)$(CONFIG_RV20_DECODER)$(CONFIG_RV10_ENCODER)$(CONFIG_RV20_ENCODER),) + OBJS+= rv10.o +endif +ifeq ($(CONFIG_SHORTEN_DECODER),yes) + OBJS+= shorten.o +endif +ifeq ($(CONFIG_SMC_DECODER),yes) + OBJS+= smc.o +endif +ifneq ($(CONFIG_SNOW_DECODER)$(CONFIG_SNOW_ENCODER),) + OBJS+= snow.o +endif +ifneq ($(CONFIG_SONIC_DECODER)$(CONFIG_SONIC_ENCODER)$(CONFIG_SONIC_LS_ENCODER),) + OBJS+= sonic.o +endif +ifneq ($(CONFIG_SVQ1_DECODER)$(CONFIG_SVQ1_ENCODER),) + OBJS+= svq1.o +endif +ifeq ($(CONFIG_TRUEMOTION1_DECODER),yes) + OBJS+= truemotion1.o +endif +ifeq ($(CONFIG_TRUEMOTION2_DECODER),yes) + OBJS+= truemotion2.o +endif +ifeq ($(CONFIG_TRUESPEECH_DECODER),yes) + OBJS+= truespeech.o +endif +ifeq ($(CONFIG_TTA_DECODER),yes) + OBJS+= tta.o +endif +ifeq ($(CONFIG_TSCC_DECODER),yes) + OBJS+= tscc.o +endif +ifeq ($(CONFIG_CSCD_DECODER),yes) + OBJS+= cscd.o + OBJS+= lzo.o +endif +ifeq ($(CONFIG_ULTI_DECODER),yes) + OBJS+= ulti.o +endif +ifneq ($(CONFIG_VC9_DECODER)$(CONFIG_WMV3_DECODER),) + OBJS+= vc9.o +endif +ifneq ($(CONFIG_VCR1_DECODER)$(CONFIG_VCR1_ENCODER),) + OBJS+= vcr1.o +endif +ifneq ($(CONFIG_VMDVIDEO_DECODER)$(CONFIG_VMDAUDIO_DECODER),) + OBJS+= vmdav.o +endif +ifeq ($(CONFIG_VORBIS_DECODER),yes) + OBJS+= vorbis.o +endif +ifneq ($(CONFIG_VP3_DECODER)$(CONFIG_THEORA_DECODER),) + OBJS+= vp3.o +endif +ifeq ($(CONFIG_VQA_DECODER),yes) + OBJS+= vqavideo.o +endif +ifneq ($(CONFIG_WMAV1_DECODER)$(CONFIG_WMAV2_DECODER),) + OBJS+= wmadec.o +endif +ifeq ($(CONFIG_WNV1_DECODER),yes) + OBJS+= wnv1.o +endif +ifeq ($(CONFIG_WS_SND1_DECODER),yes) + OBJS+= ws-snd1.o +endif +ifneq ($(CONFIG_XAN_WC3_DECODER)$(CONFIG_XAN_WC4_DECODER),) + OBJS+= xan.o +endif +ifeq ($(CONFIG_XL_DECODER),yes) + OBJS+= xl.o +endif +ifeq ($(CONFIG_BMP_DECODER),yes) + OBJS+= bmp.o +endif +ifeq ($(CONFIG_MMVIDEO_DECODER),yes) + OBJS+= mmvideo.o +endif +ifeq ($(CONFIG_ZMBV_DECODER),yes) + OBJS+= zmbv.o +endif AMROBJS= ifeq ($(AMR_NB),yes) @@ -46,6 +245,11 @@ ifeq ($(HAVE_W32THREADS),yes) OBJS+= w32thread.o endif +ifeq ($(HAVE_OS2THREADS),yes) +OBJS+= os2thread.o +endif + + ifeq ($(HAVE_BEOSTHREADS),yes) OBJS+= beosthread.o endif @@ -78,61 +282,46 @@ OBJS+= liba52/bit_allocate.o liba52/bitstream.o liba52/downmix.o \ endif endif +EXTRALIBS += -L../libavutil -lavutil$(BUILDSUF) + # currently using libdts for dts decoding ifeq ($(CONFIG_DTS),yes) OBJS+= dtsdec.o CFLAGS += $(DTS_INC) -EXTRALIBS += -ldts endif ifeq ($(CONFIG_FAAD),yes) OBJS+= faad.o -ifeq ($(CONFIG_FAADBIN),yes) -# no libs needed -else -EXTRALIBS += -lfaad -endif endif ifeq ($(CONFIG_FAAC),yes) OBJS+= faac.o -EXTRALIBS += -lfaac endif ifeq ($(CONFIG_XVID),yes) OBJS+= xvidff.o -EXTRALIBS += -lxvidcore +OBJS+= xvid_rc.o endif -ifeq ($(CONFIG_PP),yes) -ifeq ($(SHARED_PP),yes) -EXTRALIBS += -L$(VPATH)/libpostproc -lpostproc -else -# LIBS += libpostproc/libpostproc.a ... should be fixed -OBJS += libpostproc/postprocess.o -endif +ifeq ($(CONFIG_X264),yes) +OBJS+= x264.o endif ifeq ($(CONFIG_MP3LAME),yes) OBJS += mp3lameaudio.o -EXTRALIBS += -lmp3lame endif ifeq ($(CONFIG_LIBOGG),yes) -EXTRALIBS += -logg ifeq ($(CONFIG_LIBVORBIS),yes) OBJS += oggvorbis.o -EXTRALIBS += -lvorbis -lvorbisenc endif ifeq ($(CONFIG_LIBTHEORA), yes) OBJS += oggtheora.o -EXTRALIBS += -ltheora endif endif -ifeq ($(TARGET_GPROF),yes) -CFLAGS+=-p -LDFLAGS+=-p +ifeq ($(CONFIG_LIBGSM),yes) +OBJS += libgsm.o endif # i386 mmx specific stuff @@ -142,6 +331,9 @@ OBJS += i386/fdct_mmx.o i386/cputest.o \ i386/idct_mmx.o i386/motion_est_mmx.o \ i386/simple_idct_mmx.o i386/fft_sse.o i386/vp3dsp_mmx.o \ i386/vp3dsp_sse2.o +ifeq ($(CONFIG_GPL),yes) +OBJS += i386/idct_mmx_xvid.o +endif ifdef TARGET_BUILTIN_VECTOR i386/fft_sse.o: CFLAGS+= -msse depend: CFLAGS+= -msse @@ -150,8 +342,11 @@ endif # armv4l specific stuff ifeq ($(TARGET_ARCH_ARMV4L),yes) -ASM_OBJS += armv4l/jrevdct_arm.o armv4l/simple_idct_arm.o +ASM_OBJS += armv4l/jrevdct_arm.o armv4l/simple_idct_arm.o armv4l/dsputil_arm_s.o OBJS += armv4l/dsputil_arm.o armv4l/mpegvideo_arm.o +ifeq ($(TARGET_IWMMXT),yes) +OBJS += armv4l/dsputil_iwmmxt.o armv4l/mpegvideo_iwmmxt.o +endif endif # sun mediaLib specific stuff @@ -161,12 +356,18 @@ OBJS += mlib/dsputil_mlib.o CFLAGS += $(MLIB_INC) endif +# Intel IPP specific stuff +# currently only works when libavcodec is used in mplayer +ifeq ($(HAVE_IPP),yes) +CFLAGS += $(IPP_INC) +endif + # alpha specific stuff ifeq ($(TARGET_ARCH_ALPHA),yes) OBJS += alpha/dsputil_alpha.o alpha/mpegvideo_alpha.o \ alpha/simple_idct_alpha.o alpha/motion_est_alpha.o ASM_OBJS += alpha/dsputil_alpha_asm.o alpha/motion_est_mvi_asm.o -CFLAGS += -fforce-addr -freduce-all-givs +CFLAGS += -fforce-addr endif ifeq ($(TARGET_ARCH_POWERPC),yes) @@ -190,62 +391,34 @@ endif ifeq ($(TARGET_ARCH_SPARC),yes) OBJS+=sparc/dsputil_vis.o sparc/%.o: sparc/%.c - $(CC) -mcpu=ultrasparc -mtune=ultrasparc $(CFLAGS) -c -o $@ $< -endif -ifeq ($(TARGET_ARCH_SPARC64),yes) -CFLAGS+= -mcpu=ultrasparc -mtune=ultrasparc + $(CC) -mcpu=ultrasparc -mtune=ultrasparc $(CFLAGS) -c -o $@ $< endif -SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S) -OBJS := $(OBJS) $(ASM_OBJS) - -LIB= $(LIBPREF)avcodec$(LIBSUF) +NAME=avcodec +SUBDIR=libavcodec +LIBAVUTIL= $(SRC_PATH)/libavutil/$(LIBPREF)avutil$(LIBSUF) ifeq ($(BUILD_SHARED),yes) -SLIB= $(SLIBPREF)avcodec$(SLIBSUF) +LIBVERSION=$(LAVCVERSION) +LIBMAJOR=$(LAVCMAJOR) endif TESTS= imgresample-test dct-test motion-test fft-test -all: $(LIB) $(SLIB) +EXTRAOBJS = $(AMREXTRALIBS) + +include $(SRC_PATH)/common.mak + +$(LIB): $(AMRLIBS) amrlibs: $(MAKE) -C amr spclib fipoplib tests: apiexample cpuid_test $(TESTS) -$(LIB): $(OBJS) $(AMRLIBS) - rm -f $@ - $(AR) rc $@ $(OBJS) $(AMREXTRALIBS) - $(RANLIB) $@ - -$(SLIB): $(OBJS) -ifeq ($(CONFIG_PP),yes) - $(MAKE) -C libpostproc -endif -ifeq ($(CONFIG_WIN32),yes) - $(CC) $(SHFLAGS) -Wl,--output-def,$(@:.dll=.def) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS) - -lib /machine:i386 /def:$(@:.dll=.def) -else - $(CC) $(SHFLAGS) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS) $(LDFLAGS) -endif - dsputil.o: dsputil.c dsputil.h -libpostproc/libpostproc.a: - $(MAKE) -C libpostproc - -%.o: %.c - $(CC) $(CFLAGS) -c -o $@ $< - -%.o: %.S - $(CC) $(CFLAGS) -c -o $@ $< - -depend: $(SRCS) - $(CC) -MM $(CFLAGS) $^ 1>.depend - -dep: depend - -clean: $(CLEANAMR) - rm -f *.o *.d *~ .depend $(LIB) $(SLIB) *.so i386/*.o i386/*~ \ +clean:: $(CLEANAMR) + rm -f \ + i386/*.o i386/*~ \ armv4l/*.o armv4l/*~ \ mlib/*.o mlib/*~ \ alpha/*.o alpha/*~ \ @@ -255,10 +428,6 @@ clean: $(CLEANAMR) sparc/*.o sparc/*~ \ liba52/*.o liba52/*~ \ apiexample $(TESTS) - $(MAKE) -C libpostproc clean - -distclean: clean - rm -f Makefile.bak .depend cleanamr: $(MAKE) -C amr clean @@ -271,7 +440,7 @@ cleanamrwbfloat: # api example program apiexample: apiexample.c $(LIB) - $(CC) $(CFLAGS) -o $@ $< $(LIB) $(EXTRALIBS) -lm + $(CC) $(CFLAGS) -o $@ $< $(LIB) $(LIBAVUTIL) $(EXTRALIBS) -lm # cpuid test cpuid_test: i386/cputest.c @@ -283,44 +452,10 @@ imgresample-test: imgresample.c $(CC) $(CFLAGS) -DTEST -o $@ $^ -lm dct-test: dct-test.o fdctref.o $(LIB) - $(CC) -o $@ $^ -lm + $(CC) -o $@ $^ -lm $(LIBAVUTIL) motion-test: motion_test.o $(LIB) $(CC) -o $@ $^ -lm fft-test: fft-test.o $(LIB) - $(CC) -o $@ $^ -lm - -ifeq ($(BUILD_SHARED),yes) -install: all install-headers -ifeq ($(CONFIG_WIN32),yes) - install $(INSTALLSTRIP) -m 755 $(SLIB) "$(prefix)" -else - install -d $(prefix)/lib - install $(INSTALLSTRIP) -m 755 $(SLIB) $(prefix)/lib/libavcodec-$(VERSION).so - ln -sf libavcodec-$(VERSION).so $(prefix)/lib/libavcodec.so - ldconfig || true -endif -ifeq ($(CONFIG_PP),yes) - $(MAKE) -C libpostproc $@ -endif -else -install: -endif - -installlib: all install-headers - install -m 644 $(LIB) "$(prefix)/lib" - -install-headers: - mkdir -p "$(prefix)/include/ffmpeg" - install -m 644 $(SRC_PATH)/libavcodec/avcodec.h \ - $(SRC_PATH)/libavcodec/common.h \ - $(SRC_PATH)/libavcodec/rational.h \ - "$(prefix)/include/ffmpeg" - -# -# include dependency files if they exist -# -ifneq ($(wildcard .depend),) -include .depend -endif + $(CC) -o $@ $^ $(LIBAVUTIL) -lm