⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 ffmpeg源码分析
💻
字号:
## libavcodec Makefile# (c) 2000-2005 Fabrice Bellard#include ../config.mak# NOTE: -I.. is needed to include config.hCFLAGS=$(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 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.oHEADERS = avcodec.hifeq ($(CONFIG_AASC_DECODER),yes)    OBJS+= aasc.oendififeq ($(CONFIG_ALAC_DECODER),yes)    OBJS+= alac.oendififneq ($(CONFIG_ASV1_DECODER)$(CONFIG_ASV1_ENCODER)$(CONFIG_ASV2_DECODER)$(CONFIG_ASV2_ENCODER),)    OBJS+= asv1.oendififeq ($(CONFIG_AVS_DECODER),yes)    OBJS+= avs.oendififeq ($(CONFIG_CINEPAK_DECODER),yes)    OBJS+= cinepak.oendififeq ($(CONFIG_COOK_DECODER),yes)    OBJS+= cook.oendififneq ($(CONFIG_CLJR_DECODER)$(CONFIG_CLJR_ENCODER),)    OBJS+= cljr.oendififeq ($(CONFIG_CYUV_DECODER),yes)    OBJS+= cyuv.oendififeq ($(CONFIG_DVBSUB_DECODER),yes)   OBJS+= dvbsubdec.oendififeq ($(CONFIG_DVBSUB_ENCODER),yes)   OBJS+= dvbsub.oendififeq ($(CONFIG_DVDSUB_DECODER),yes)   OBJS+= dvdsub.oendififeq ($(CONFIG_DVDSUB_ENCODER),yes)   OBJS+= dvdsubenc.oendififneq ($(CONFIG_DVVIDEO_DECODER)$(CONFIG_DVVIDEO_ENCODER),)    OBJS+= dv.oendififeq ($(CONFIG_EIGHTBPS_DECODER),yes)    OBJS+= 8bps.oendififneq ($(CONFIG_FFV1_DECODER)$(CONFIG_FFV1_ENCODER),)    OBJS+= ffv1.oendififeq ($(CONFIG_FLAC_DECODER),yes)    OBJS+= flac.oendififeq ($(CONFIG_FLIC_DECODER),yes)    OBJS+= flicvideo.oendififeq ($(CONFIG_FOURXM_DECODER),yes)    OBJS+= 4xm.oendififeq ($(CONFIG_FRAPS_DECODER),yes)    OBJS+= fraps.oendififneq ($(CONFIG_H261_DECODER)$(CONFIG_H261_ENCODER),)    OBJS+= h261.oendififneq ($(CONFIG_H264_DECODER)$(CONFIG_SVQ3_DECODER),)    OBJS+= h264.oendififneq ($(CONFIG_HUFFYUV_DECODER)$(CONFIG_HUFFYUV_ENCODER)$(CONFIG_FFVHUFF_DECODER)$(CONFIG_FFVHUFF_ENCODER),)    OBJS+= huffyuv.oendififeq ($(CONFIG_IDCIN_DECODER),yes)    OBJS+= idcinvideo.oendififeq ($(CONFIG_INDEO2_DECODER),yes)    OBJS+= indeo2.oendififeq ($(CONFIG_INDEO3_DECODER),yes)    OBJS+= indeo3.oendififeq ($(CONFIG_INTERPLAY_VIDEO_DECODER),yes)    OBJS+= interplayvideo.oendififneq ($(CONFIG_MSZH_DECODER)$(CONFIG_ZLIB_DECODER)$(CONFIG_ZLIB_ENCODER),)    OBJS+= lcl.oendififeq ($(CONFIG_LOCO_DECODER),yes)    OBJS+= loco.oendififneq ($(CONFIG_MACE3_DECODER)$(CONFIG_MACE6_DECODER),)    OBJS+= mace.oendififeq ($(CONFIG_MSRLE_DECODER),yes)    OBJS+= msrle.oendififeq ($(CONFIG_MSVIDEO1_DECODER),yes)    OBJS+= msvideo1.oendififneq ($(CONFIG_PNG_DECODER)$(CONFIG_PNG_ENCODER),)    OBJS+= png.oendififeq ($(CONFIG_QDM2_DECODER),yes)    OBJS+= qdm2.oendififeq ($(CONFIG_QDRAW_DECODER),yes)    OBJS+= qdrw.oendififeq ($(CONFIG_QPEG_DECODER),yes)    OBJS+= qpeg.oendififeq ($(CONFIG_QTRLE_DECODER),yes)    OBJS+= qtrle.oendififeq ($(CONFIG_RA_144_DECODER),yes)    OBJS+= ra144.oendififeq ($(CONFIG_RA_288_DECODER),yes)    OBJS+= ra288.oendififeq ($(CONFIG_ROQ_DECODER),yes)    OBJS+= roqvideo.oendififeq ($(CONFIG_RPZA_DECODER),yes)    OBJS+= rpza.oendififneq ($(CONFIG_RV10_DECODER)$(CONFIG_RV20_DECODER)$(CONFIG_RV10_ENCODER)$(CONFIG_RV20_ENCODER),)    OBJS+= rv10.oendififeq ($(CONFIG_SHORTEN_DECODER),yes)    OBJS+= shorten.oendififneq ($(CONFIG_SMACKER_DECODER)$(CONFIG_SMACKAUD_DECODER),)    OBJS+= smacker.oendififeq ($(CONFIG_SMC_DECODER),yes)    OBJS+= smc.oendififneq ($(CONFIG_SNOW_DECODER)$(CONFIG_SNOW_ENCODER),)    OBJS+= snow.oendififneq ($(CONFIG_SONIC_DECODER)$(CONFIG_SONIC_ENCODER)$(CONFIG_SONIC_LS_ENCODER),)    OBJS+= sonic.oendififneq ($(CONFIG_SVQ1_DECODER)$(CONFIG_SVQ1_ENCODER),)    OBJS+= svq1.oendififeq ($(CONFIG_TRUEMOTION1_DECODER),yes)    OBJS+= truemotion1.oendififeq ($(CONFIG_TRUEMOTION2_DECODER),yes)    OBJS+= truemotion2.oendififeq ($(CONFIG_TRUESPEECH_DECODER),yes)    OBJS+= truespeech.oendififeq ($(CONFIG_TTA_DECODER),yes)    OBJS+= tta.oendififeq ($(CONFIG_TSCC_DECODER),yes)    OBJS+= tscc.oendififeq ($(CONFIG_CSCD_DECODER),yes)    OBJS+= cscd.o    OBJS+= lzo.oendififeq ($(CONFIG_NUV_DECODER),yes)    OBJS+= nuv.o    OBJS+= rtjpeg.o    OBJS+= lzo.oendififeq ($(CONFIG_ULTI_DECODER),yes)    OBJS+= ulti.oendififneq ($(CONFIG_VC9_DECODER)$(CONFIG_WMV3_DECODER),)    OBJS+= vc9.oendififneq ($(CONFIG_VCR1_DECODER)$(CONFIG_VCR1_ENCODER),)    OBJS+= vcr1.oendififneq ($(CONFIG_VMDVIDEO_DECODER)$(CONFIG_VMDAUDIO_DECODER),)    OBJS+= vmdav.oendififeq ($(CONFIG_VORBIS_DECODER),yes)    OBJS+= vorbis.oendififneq ($(CONFIG_VP3_DECODER)$(CONFIG_THEORA_DECODER),)    OBJS+= vp3.oendififeq ($(CONFIG_VQA_DECODER),yes)    OBJS+= vqavideo.oendififneq ($(CONFIG_WMAV1_DECODER)$(CONFIG_WMAV2_DECODER),)    OBJS+= wmadec.oendififeq ($(CONFIG_WNV1_DECODER),yes)    OBJS+= wnv1.oendififeq ($(CONFIG_WS_SND1_DECODER),yes)    OBJS+= ws-snd1.oendififneq ($(CONFIG_XAN_WC3_DECODER)$(CONFIG_XAN_WC4_DECODER),)    OBJS+= xan.oendififeq ($(CONFIG_XL_DECODER),yes)    OBJS+= xl.oendififeq ($(CONFIG_BMP_DECODER),yes)	OBJS+= bmp.oendififeq ($(CONFIG_MMVIDEO_DECODER),yes)	OBJS+= mmvideo.oendififeq ($(CONFIG_ZMBV_DECODER),yes)	OBJS+= zmbv.oendifAMROBJS=ifeq ($(AMR_NB),yes)ifeq ($(AMR_NB_FIXED),yes)AMROBJS= amr.oAMREXTRALIBS+= amr/*.oAMRLIBS=amrlibsCLEANAMR=cleanamrelseAMROBJS= amr.oOBJS+= amr_float/sp_dec.o amr_float/sp_enc.o amr_float/interf_dec.o amr_float/interf_enc.oCLEANAMR=cleanamrfloatendifendififeq ($(HAVE_PTHREADS),yes)OBJS+= pthread.oendififeq ($(HAVE_W32THREADS),yes)OBJS+= w32thread.oendififeq ($(HAVE_OS2THREADS),yes)OBJS+= os2thread.oendififeq ($(HAVE_BEOSTHREADS),yes)OBJS+= beosthread.oendififeq ($(AMR_WB),yes)AMROBJS= amr.oOBJS+= amrwb_float/dec_acelp.o 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.oendifOBJS+= $(AMROBJS)CLEANAMRWB=cleanamrwbfloatASM_OBJS=ifeq ($(HAVE_XVMC_ACCEL),yes)OBJS+= xvmcvideo.oendif# currently using liba52 for ac3 decodingifeq ($(CONFIG_AC3),yes)OBJS+= a52dec.o# using builtin liba52 or runtime linked liba52.so.0ifneq ($(CONFIG_A52BIN),yes)OBJS+= liba52/bit_allocate.o liba52/bitstream.o liba52/downmix.o \	liba52/imdct.o  liba52/parse.o liba52/crc.o liba52/resample.oendifendifEXTRALIBS += -L../libavutil -lavutil$(BUILDSUF)# currently using libdts for dts decodingifeq ($(CONFIG_DTS),yes)OBJS+= dtsdec.oCFLAGS += $(DTS_INC)endififeq ($(CONFIG_FAAD),yes)OBJS+= faad.oendififeq ($(CONFIG_FAAC),yes)OBJS+= faac.oendififeq ($(CONFIG_XVID),yes)OBJS+= xvidff.oOBJS+= xvid_rc.oendififeq ($(CONFIG_X264),yes)OBJS+= x264.oendififeq ($(CONFIG_MP3LAME),yes)OBJS += mp3lameaudio.oendififeq ($(CONFIG_LIBOGG),yes)ifeq ($(CONFIG_LIBVORBIS),yes)OBJS += oggvorbis.oendififeq ($(CONFIG_LIBTHEORA), yes)OBJS += oggtheora.oendifendififeq ($(CONFIG_LIBGSM),yes)OBJS += libgsm.oendif# i386 mmx specific stuffifeq ($(TARGET_MMX),yes)OBJS += i386/fdct_mmx.o i386/cputest.o \	i386/dsputil_mmx.o i386/mpegvideo_mmx.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 i386/fft_3dn.o i386/fft_3dn2.o i386/snowdsp_mmx.oifeq ($(CONFIG_GPL),yes)OBJS += i386/idct_mmx_xvid.oendififdef TARGET_BUILTIN_VECTORi386/fft_sse.o: CFLAGS+= -mssedepend: CFLAGS+= -msseendififdef TARGET_BUILTIN_3DNOWi386/fft_3dn.o: CFLAGS+= -m3dnowi386/fft_3dn2.o: CFLAGS+= -march=athlonendifendif# armv4l specific stuffifeq ($(TARGET_ARCH_ARMV4L),yes)ASM_OBJS += armv4l/jrevdct_arm.o armv4l/simple_idct_arm.o armv4l/dsputil_arm_s.oOBJS += armv4l/dsputil_arm.o armv4l/mpegvideo_arm.oifeq ($(TARGET_IWMMXT),yes)OBJS += armv4l/dsputil_iwmmxt.o armv4l/mpegvideo_iwmmxt.oendifendif# sun mediaLib specific stuff# currently only works when libavcodec is used in mplayerifeq ($(HAVE_MLIB),yes)OBJS += mlib/dsputil_mlib.oCFLAGS += $(MLIB_INC)endif# Intel IPP specific stuff# currently only works when libavcodec is used in mplayerifeq ($(HAVE_IPP),yes)CFLAGS += $(IPP_INC)endif# alpha specific stuffifeq ($(TARGET_ARCH_ALPHA),yes)OBJS += alpha/dsputil_alpha.o alpha/mpegvideo_alpha.o \	alpha/simple_idct_alpha.o alpha/motion_est_alpha.oASM_OBJS += alpha/dsputil_alpha_asm.o alpha/motion_est_mvi_asm.oCFLAGS += -fforce-addrendififeq ($(TARGET_ARCH_POWERPC),yes)OBJS += ppc/dsputil_ppc.o ppc/mpegvideo_ppc.oendififeq ($(TARGET_MMI),yes)OBJS += ps2/dsputil_mmi.o ps2/idct_mmi.o ps2/mpegvideo_mmi.oendififeq ($(TARGET_ALTIVEC),yes)OBJS += ppc/dsputil_altivec.o ppc/mpegvideo_altivec.o ppc/idct_altivec.o \        ppc/fft_altivec.o ppc/gmc_altivec.o ppc/fdct_altivec.o \        ppc/dsputil_h264_altivec.o ppc/dsputil_snow_altivec.oendififeq ($(TARGET_ARCH_SH4),yes)OBJS+= sh4/idct_sh4.o sh4/dsputil_sh4.o sh4/dsputil_align.oendififeq ($(TARGET_ARCH_SPARC),yes)OBJS+=sparc/dsputil_vis.osparc/%.o: sparc/%.c	$(CC) -mcpu=ultrasparc -mtune=ultrasparc $(CFLAGS) -c -o $@ $<endifNAME=avcodecSUBDIR=libavcodecLIBAVUTIL= $(SRC_PATH)/libavutil/$(LIBPREF)avutil$(LIBSUF)ifeq ($(BUILD_SHARED),yes)LIBVERSION=$(LAVCVERSION)LIBMAJOR=$(LAVCMAJOR)endifTESTS= imgresample-test dct-test motion-test fft-testEXTRAOBJS = $(AMREXTRALIBS)include $(SRC_PATH)/common.mak$(LIB): $(AMRLIBS)amrlibs:	$(MAKE) -C amr spclib fipoplibtests: apiexample cpuid_test $(TESTS)dsputil.o: dsputil.c dsputil.hclean:: $(CLEANAMR)	rm -f \	   i386/*.o i386/*~ \	   armv4l/*.o armv4l/*~ \	   mlib/*.o mlib/*~ \	   alpha/*.o alpha/*~ \	   ppc/*.o ppc/*~ \	   ps2/*.o ps2/*~ \	   sh4/*.o sh4/*~ \	   sparc/*.o sparc/*~ \	   liba52/*.o liba52/*~ \	   apiexample $(TESTS)cleanamr:	$(MAKE) -C amr cleancleanamrfloat:	rm -f amr_float/*.ocleanamrwbfloat:	$(MAKE) -C amrwb_float -f makefile.gcc clean# api example programapiexample: apiexample.c $(LIB)	$(CC) $(CFLAGS) -o $@ $< $(LIB) $(LIBAVUTIL) $(EXTRALIBS)# cpuid testcpuid_test: i386/cputest.c	$(CC) $(CFLAGS) -D__TEST__ -o $@ $<# testing progsimgresample-test: imgresample.c	$(CC) $(CFLAGS) -DTEST -o $@ $^ -lmdct-test: dct-test.o fdctref.o $(LIB)	$(CC) -o $@ $^ -lm $(LIBAVUTIL)motion-test: motion_test.o $(LIB)	$(CC) -o $@ $^ -lmfft-test: fft-test.o $(LIB)	$(CC) -o $@ $^ $(LIBAVUTIL) -lm

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -