summaryrefslogtreecommitdiff
path: root/contrib/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/Makefile.am')
-rw-r--r--contrib/Makefile.am170
1 files changed, 170 insertions, 0 deletions
diff --git a/contrib/Makefile.am b/contrib/Makefile.am
new file mode 100644
index 000000000..728221159
--- /dev/null
+++ b/contrib/Makefile.am
@@ -0,0 +1,170 @@
+SUBDIRS = libmpcdec libxdg-basedir libdca nosefart gsm610 libmad a52dec \
+ libfaad
+
+
+if BUILD_DHA_KMOD
+SUBDIRS += libdha
+endif
+
+# vidix depends on portions of dha
+if ENABLE_VIDIX
+if !BUILD_DHA_KMOD
+SUBDIRS += libdha
+endif
+SUBDIRS += vidix
+endif
+
+srcdir = $(shell cd @srcdir@; pwd)
+
+ffmpeg_builder = $(srcdir)/ffmpeg-universal.sh
+
+if ENABLE_DXR3
+dxr3encoder = --enable-encoder=mpeg1video
+endif
+
+if FFMPEG_DISABLE_UNCOMMON_CODECS
+disable_uncommon_codecs = \
+ --disable-decoder=aasc --disable-decoder=asv1 --disable-decoder=asv2 --disable-decoder=avs \
+ --disable-decoder=cscd --disable-decoder=cyuv --disable-decoder=dvvideo --disable-decoder=eightbps \
+ --disable-decoder=flic --disable-decoder=flv --disable-decoder=fourxm --disable-decoder=fraps \
+ --disable-decoder=huffyuv --disable-decoder=idcin --disable-decoder=interplay_video --disable-decoder=kmvc \
+ --disable-decoder=loco --disable-decoder=mmvideo --disable-decoder=nuv --disable-decoder=qdraw \
+ --disable-decoder=qpeg --disable-decoder=roq --disable-decoder=rpza --disable-decoder=smacker \
+ --disable-decoder=smc --disable-decoder=snow --disable-decoder=truemotion1 --disable-decoder=truemotion2 \
+ --disable-decoder=tscc --disable-decoder=ulti --disable-decoder=vcr1 --disable-decoder=vmdvideo \
+ --disable-decoder=wnv1 --disable-decoder=xan_wc3 --disable-decoder=xl --disable-decoder=zmbv \
+ --disable-decoder=alac --disable-decoder=amr_nb --disable-decoder=amr_wb --disable-decoder=libgsm \
+ --disable-decoder=mace3 --disable-decoder=mace6 --disable-decoder=shorten --disable-decoder=smackaud \
+ --disable-decoder=truespeech --disable-decoder=tta --disable-decoder=vmdaudio --disable-decoder=pcm_alaw \
+ --disable-decoder=pcm_mulaw --disable-decoder=pcm_s8 --disable-decoder=pcm_s16be --disable-decoder=pcm_s16le \
+ --disable-decoder=pcm_s24be --disable-decoder=pcm_s24daud --disable-decoder=pcm_s24le --disable-decoder=pcm_s32be \
+ --disable-decoder=pcm_s32le --disable-decoder=pcm_u8 --disable-decoder=pcm_u16be --disable-decoder=pcm_u16le \
+ --disable-decoder=pcm_u24be --disable-decoder=pcm_u24le --disable-decoder=pcm_u32be --disable-decoder=pcm_u32le \
+ --disable-decoder=interplay_dpcm --disable-decoder=roq_dpcm --disable-decoder=sol_dpcm --disable-decoder=vqa \
+ --disable-decoder=xan_dpcm --disable-decoder=adpcm_4xm --disable-decoder=adpcm_ct --disable-decoder=adpcm_ea \
+ --disable-decoder=adpcm_ima_dk3 --disable-decoder=adpcm_ima_dk4 --disable-decoder=adpcm_ima_qt \
+ --disable-decoder=adpcm_ima_smjpeg --disable-decoder=adpcm_ima_wav --disable-decoder=adpcm_ima_ws \
+ --disable-decoder=adpcm_ms --disable-decoder=adpcm_sbpro_2 --disable-decoder=adpcm_sbpro_3 \
+ --disable-decoder=adpcm_sbpro_4 --disable-decoder=adpcm_xa --disable-decoder=adpcm_yamaha
+endif
+
+if FFMPEG_DISABLE_POPULAR_CODECS
+disable_popular_codecs = \
+ --disable-decoder=cinepak --disable-decoder=flashsv --disable-decoder=h261 --disable-decoder=h263 \
+ --disable-decoder=h263i --disable-decoder=h264 --disable-decoder=indeo2 --disable-decoder=indeo3 \
+ --disable-decoder=mjpeg --disable-decoder=mjpegb --disable-decoder=mpeg1video --disable-decoder=mpeg2video \
+ --disable-decoder=mpeg4 --disable-decoder=mpegvideo --disable-decoder=msmpeg4v1 --disable-decoder=msmpeg4v2 \
+ --disable-decoder=msmpeg4v3 --disable-decoder=msrle --disable-decoder=msvideo1 --disable-decoder=qtrle \
+ --disable-decoder=rv10 --disable-decoder=rv20 --disable-decoder=svq1 --disable-decoder=svq3 --disable-decoder=vc1 \
+ --disable-decoder=vp3 --disable-decoder=vp5 --disable-decoder=vp6 --disable-decoder=vp6f --disable-decoder=wmv1 \
+ --disable-decoder=wmv2 --disable-decoder=wmv3 --disable-decoder=cook --disable-decoder=dts --disable-decoder=flac \
+ --disable-decoder=mp2 --disable-decoder=mp3 --disable-decoder=qdm2 --disable-decoder=ra_144 --disable-decoder=ra_288 \
+ --disable-decoder=wavpack --disable-decoder=wmav1 --disable-decoder=wmav2 --disable-decoder=adpcm_swf
+endif
+
+configure_options =\
+ --disable-shared --enable-static --disable-demuxers --disable-muxers --disable-strip \
+ --enable-gpl --enable-pthreads --disable-ffmpeg --disable-ffserver --disable-ffplay
+
+# --enable-debug --disable-opts breaks the build of ffmpeg on x86:
+# i386/mpegvideo_mmx_template.c:108: error: can't find a register in class ‘GENERAL_REGS’ while reloading ‘asm’
+# pending a real fix --enable-debug for libxine does not enable debugging options for ffmpeg for now
+#if DEBUG_BUILD
+#configure_options += --enable-debug
+#else
+configure_options += --disable-debug
+#endif
+if PROFILING_BUILD
+configure_options += --enable-gprof
+endif
+if DISABLE_OPTIMIZATIONS
+#configure_options += --disable-opts
+endif
+if HAVE_MLIB
+configure_options += --enable-sunmlib
+endif
+
+if !HOST_OS_DARWIN
+FFMPEG_EXTRA_CFLAGS = -fPIC -DPIC
+endif
+
+disable_decoders = \
+ --disable-decoder=bmp --disable-decoder=cavs --disable-decoder=cljr --disable-decoder=dsicinvideo \
+ --disable-decoder=ffv1 --disable-decoder=ffvhuff --disable-decoder=gif --disable-decoder=mdec \
+ --disable-decoder=mpeg_xvmc --disable-decoder=mszh --disable-decoder=png --disable-decoder=rawvideo \
+ --disable-decoder=sp5x --disable-decoder=targa --disable-decoder=tiertexseqvideo --disable-decoder=tiff \
+ --disable-decoder=vmnc --disable-decoder=zlib --disable-decoder=dsicinaudio --disable-decoder=imc \
+ --disable-decoder=mp3adu --disable-decoder=mp3on4 --disable-decoder=mpc7 --disable-decoder=sonic \
+ --disable-decoder=ws_snd1 --disable-decoder=adpcm_adx --disable-decoder=adpcm_g726 --disable-decoder=dvbsub \
+ --disable-decoder=dvdsub --disable-decoder=theora --disable-decoder=aac --disable-decoder=mpeg4aac \
+ --disable-decoder=ac3 --disable-decoder=vorbis
+
+all_configure_options = \
+ $(configure_options) --make="$(MAKE)" --cc="$(CC)" \
+ --disable-encoders $(dxr3encoder) $(disable_decoders) \
+ $(disable_uncommon_codecs) $(disable_popular_codecs)
+
+ffmpeg/config.mak: ffmpeg/configure Makefile $(ffmpeg_builder)
+if MACOSX_UNIVERSAL_BINARY
+ export CFLAGS="$(VISIBILITY_FLAG)"; \
+ export FFMPEG_CONFIGURE_OPTIONS="$(all_configure_options)"; \
+ $(ffmpeg_builder) -configure "$(srcdir)/ffmpeg" $(UNIVERSAL_ARCHES)
+else
+ mkdir -p ffmpeg
+ cd ffmpeg; \
+ $(srcdir)/ffmpeg/configure $(all_configure_options) \
+ --extra-cflags="$(VISIBILITY_FLAG) $(FFMPEG_EXTRA_CFLAGS)"; \
+ cd ..
+if HOST_OS_DARWIN
+ cat ffmpeg/config.mak | sed -e '/OPTFLAGS=/s/-mdynamic-no-pic//g' > ffmpeg/config.tmp
+ mv -f ffmpeg/config.tmp ffmpeg/config.mak
+endif
+endif
+
+ffmpeg/libavutil/libavutil.a: ffmpeg/config.mak
+if MACOSX_UNIVERSAL_BINARY
+ export MAKE="$(MAKE)"; \
+ $(ffmpeg_builder) -avutil "$(srcdir)/ffmpeg" $(UNIVERSAL_ARCHES)
+else
+ $(MAKE) -C ffmpeg/libavutil libavutil.a
+endif
+
+ffmpeg/libavcodec/libavcodec.a: ffmpeg/config.mak
+if MACOSX_UNIVERSAL_BINARY
+ export MAKE="$(MAKE)"; \
+ $(ffmpeg_builder) -avcodec "$(srcdir)/ffmpeg" $(UNIVERSAL_ARCHES)
+else
+ $(MAKE) -C ffmpeg/libavcodec libavcodec.a
+endif
+
+ffmpeg/libpostproc/libpostproc.a: ffmpeg/config.mak
+if MACOSX_UNIVERSAL_BINARY
+ export MAKE="$(MAKE)"; \
+ $(ffmpeg_builder) -postproc "$(srcdir)/ffmpeg" $(UNIVERSAL_ARCHES)
+else
+ $(MAKE) -C ffmpeg/libpostproc libpostproc.a
+endif
+
+clean-local:
+if MACOSX_UNIVERSAL_BINARY
+ export MAKE="$(MAKE)"; \
+ $(ffmpeg_builder) -clean "$(srcdir)/ffmpeg" $(UNIVERSAL_ARCHES)
+else
+ -$(MAKE) -C ffmpeg clean
+endif
+
+distclean-local:
+if MACOSX_UNIVERSAL_BINARY
+ export MAKE="$(MAKE)"; \
+ $(ffmpeg_builder) -distclean "$(srcdir)/ffmpeg" $(UNIVERSAL_ARCHES)
+else
+ -$(MAKE) -C ffmpeg distclean
+endif
+
+EXTRA_DIST = README.contrib ffmpeg-distfiles ffmpeg-universal.sh
+
+dist-hook:
+ while read entry; do \
+ test -d $(srcdir)/$$entry && mkdir -p $(distdir)/$$entry; \
+ test -f $(srcdir)/$$entry && cp -p $(srcdir)/$$entry $(distdir)/$$entry; \
+ done < $(srcdir)/ffmpeg-distfiles