lists.zerezo.com



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

***BOGO*** [MPlayer-dev-eng] [RFC] build from a single ffmpeg subdirectory



I have had this in one of my local trees since forever and now finally
sat it down to finish it...

Here is an overhaul to the way we integrate FFmpeg with MPlayer.  It
switches over from multiple subdirectories (and corresponding svn
externals) to a single subdirectory for all of FFmpeg.  MPlayer's
configure calls FFmpeg's configure and FFmpeg is built separately from
the MPlayer build process.

pros:
- gets rid of a lot of duplicated code in the build system
- no more MPlayer build failures after changes to FFmpeg's build system
- needs just one svn:external, so it might work with git someday

cons:
- increases the size of the checkout as it pulls in unneeded parts of
  FFmpeg

still missing:
- an option for configure to pass options to FFmpeg's configure
- pass MPlayer's CFLAGS to FFmpeg's configure

In any case, the diffstat is pretty convincing:

 Makefile   |   34 +---
 common.mak |   96 -------------
 configure  |  440 ++-----------------------------------------------------------
 subdir.mak |   74 ----------
 4 files changed, 32 insertions(+), 612 deletions(-)

I'm getting more fond of this solution by the day, it reduces my
maintenance burden considerably.

Thoughts?

Diego
Property changes on: .
___________________________________________________________________
Modified: svn:externals
   - libavutil	svn://svn.mplayerhq.hu/ffmpeg/trunk/libavutil
libavcodec	svn://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec
libavformat	svn://svn.mplayerhq.hu/ffmpeg/trunk/libavformat
libpostproc	svn://svn.mplayerhq.hu/ffmpeg/trunk/libpostproc

   + ffmpeg		svn://svn.mplayerhq.hu/ffmpeg/trunk


Index: Makefile
===================================================================
--- Makefile	(revision 27762)
+++ Makefile	(working copy)
@@ -629,11 +629,11 @@
 SRCS_MENCODER += $(SRCS_MENCODER-yes)
 SRCS_MPLAYER  += $(SRCS_MPLAYER-yes)
 
-COMMON_LIBS-$(LIBAVFORMAT_A)      += libavformat/libavformat.a
-COMMON_LIBS-$(LIBAVCODEC_A)       += libavcodec/libavcodec.a
-COMMON_LIBS-$(LIBAVUTIL_A)        += libavutil/libavutil.a
-COMMON_LIBS-$(LIBPOSTPROC_A)      += libpostproc/libpostproc.a
-COMMON_LIBS-$(LIBSWSCALE_A)       += libswscale/libswscale.a
+COMMON_LIBS-$(LIBAVFORMAT_A)      += ffmpeg/libavformat/libavformat.a
+COMMON_LIBS-$(LIBAVCODEC_A)       += ffmpeg/libavcodec/libavcodec.a
+COMMON_LIBS-$(LIBAVUTIL_A)        += ffmpeg/libavutil/libavutil.a
+COMMON_LIBS-$(LIBPOSTPROC_A)      += ffmpeg/libpostproc/libpostproc.a
+COMMON_LIBS-$(LIBSWSCALE_A)       += ffmpeg/libswscale/libswscale.a
 COMMON_LIBS += $(COMMON_LIBS-yes)
 
 OBJS_COMMON    += $(addsuffix .o, $(basename $(SRCS_COMMON)))
@@ -665,17 +665,6 @@
         libaf \
         libao2 \
         libass \
-        libavcodec \
-        libavcodec/alpha \
-        libavcodec/armv4l \
-        libavcodec/bfin \
-        libavcodec/i386 \
-        libavcodec/mlib \
-        libavcodec/ppc \
-        libavcodec/sh4 \
-        libavcodec/sparc \
-        libavformat \
-        libavutil \
         libdvdcss \
         libdvdread \
         libfaad2 \
@@ -684,8 +673,6 @@
         libmpcodecs/native \
         libmpdemux \
         libmpeg2 \
-        libpostproc \
-        libswscale \
         libvo \
         loader \
         loader/dshow \
@@ -708,14 +695,15 @@
         libpostproc \
         libswscale \
 
-FFMPEGLIBS  = $(foreach part, $(PARTS), $(part)/$(part).a)
-FFMPEGFILES = $(foreach part, $(PARTS), $(part)/*.[chS] libavcodec/*/*.[chS])
+FFMPEGLIBS  = $(foreach part, $(PARTS), ffmpeg/$(part)/$(part).a)
+FFMPEGFILES = $(foreach part, $(PARTS), ffmpeg/$(part)/*.[chS] ffmpeg/libavcodec/*/*.[chS])
 
 
 
 ###### generic rules #######
 
 all: $(ALL_PRG-yes)
+	$(MAKE) -C ffmpeg
 
 %.d: %.c
 	$(MPDEPEND_CMD) > $@
@@ -738,7 +726,7 @@
 checkheaders: $(ALLHEADERS:.h=.ho)
 
 dep depend: $(DEPS)
-	for part in $(PARTS); do $(MAKE) -C $$part depend; done
+	$(MAKE) -C ffmpeg $@
 
 $(FFMPEGLIBS): $(FFMPEGFILES) config.h
 	$(MAKE) -C $(@D)
@@ -859,10 +847,12 @@
 	rm -f $(foreach lang,$(MAN_LANGS),$(foreach man,mplayer.1 mencoder.1,$(MANDIR)/$(lang)/man1/$(man)))
 
 clean:
+	$(MAKE) -C ffmpeg $@
 	rm -f $(foreach dir,$(DIRS),$(foreach suffix,/*.o /*.a /*.ho /*~, $(addsuffix $(suffix),$(dir))))
 	rm -f mplayer$(EXESUF) mencoder$(EXESUF)
 
 distclean: clean testsclean toolsclean driversclean dhahelperclean dhahelperwinclean
+	$(MAKE) -C ffmpeg $@
 	rm -rf DOCS/tech/doxygen
 	rm -f $(foreach dir,$(DIRS),$(foreach suffix,/*.d, $(addsuffix $(suffix),$(dir))))
 	rm -f configure.log config.mak config.h	codecs.conf.h help_mp.h \
@@ -942,7 +932,7 @@
 TOOLS/bmovl-test$(EXESUF): -lSDL_image
 
 TOOLS/subrip$(EXESUF): vobsub.o spudec.o unrar_exec.o libvo/aclib.o \
-    libswscale/libswscale.a libavutil/libavutil.a $(TEST_OBJS)
+    ffmpeg/libswscale/libswscale.a ffmpeg/libavutil/libavutil.a $(TEST_OBJS)
 
 TOOLS/vfw2menc$(EXESUF): -lwinmm -lole32
 
Index: configure
===================================================================
--- configure	(revision 27762)
+++ configure	(working copy)
@@ -266,7 +266,6 @@
   --disable-ftp          disable FTP support [enabled]
   --disable-vstream      disable TiVo vstream client support [autodetect]
   --disable-pthreads     disable Posix threads support [autodetect]
-  --disable-w32threads   disable Win32 threads support [autodetect]
   --disable-ass          disable internal SSA/ASS subtitle support [autodetect]
   --enable-rpath         enable runtime linker path for extra libs [disabled]
 
@@ -325,18 +324,6 @@
   --disable-liba52-internal disable builtin liba52 [autodetect] 
   --disable-libmpeg2        disable builtin libmpeg2 [autodetect]
   --disable-musepack        disable musepack support [autodetect]
-  --disable-libamr_nb       disable libamr narrowband [autodetect]
-  --disable-libamr_wb       disable libamr wideband [autodetect]
-  --disable-decoder=DECODER disable specified FFmpeg decoder
-  --enable-decoder=DECODER  enable specified FFmpeg decoder
-  --disable-encoder=ENCODER disable specified FFmpeg encoder
-  --enable-encoder=ENCODER  enable specified FFmpeg encoder
-  --disable-parser=PARSER   disable specified FFmpeg parser
-  --enable-parser=PARSER    enable specified FFmpeg parser
-  --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
-  --enable-demuxer=DEMUXER  enable specified FFmpeg demuxer
-  --disable-muxer=MUXER     disable specified FFmpeg muxer
-  --enable-muxer=MUXER      enable specified FFmpeg muxer
 
 Video output:
   --disable-vidix          disable VIDIX [for x86 *nix]
@@ -408,8 +395,6 @@
   --cc=COMPILER          C compiler to build MPlayer [gcc]
   --host-cc=COMPILER     C compiler for tools needed while building [gcc]
   --as=ASSEMBLER         assembler to build MPlayer [as]
-  --ar=AR                librarian to build MPlayer [ar]
-  --ranlib=RANLIB        ranlib to build MPlayer [ranlib]
   --windres=WINDRES      windres to build MPlayer [windres]
   --target=PLATFORM      target platform (i386-linux, arm-linux, etc)
   --enable-static        build a statically linked binary
@@ -487,10 +472,8 @@
 _mtrr=auto
 _altivec=auto
 _install=install
-_ranlib=ranlib
 _windres=windres
 _cc=cc
-_ar=ar
 test "$CC" && _cc="$CC"
 _as=auto
 _runtime_cpudetection=no
@@ -499,21 +482,6 @@
 _libavutil_a=auto
 _libavutil_so=auto
 _libavcodec_a=auto
-_libamr_nb=auto
-_libamr_wb=auto
-_libavdecoders_all=`sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
-_libavdecoders=` echo $_libavdecoders_all | sed -e 's/ LIB[A-Z0-9_]*_DECODER//g' -e s/MPEG4AAC_DECODER// `
-_libavencoders_all=`sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
-_libavencoders=` echo $_libavencoders_all | sed 's/ LIB[A-Z0-9_]*_ENCODER//g'`
-_libavparsers_all=`sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
-_libavparsers=$_libavparsers_all
-_libavbsfs_all=`sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
-_libavbsfs=$_libavbsfs_all
-_libavdemuxers_all=`sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
-_libavdemuxers=`echo $_libavdemuxers_all | sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s/REDIR_DEMUXER// -e s/RTSP_DEMUXER// -e s/SDP_DEMUXER// -e s/AVISYNTH_DEMUXER// `
-_libavmuxers_all=`sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
-_libavmuxers=`echo $_libavmuxers_all | sed -e 's/ LIB[A-Z0-9_]*_MUXER//g' -e s/RTP_MUXER// `
-_libavprotocols_all=`sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
 _libavcodec_so=auto
 _libavformat_a=auto
 _libavformat_so=auto
@@ -521,7 +489,6 @@
 _libpostproc_so=auto
 _libswscale_a=auto
 _libswscale_so=auto
-_libavcodec_mpegaudio_hp=yes
 _mencoder=yes
 _mplayer=yes
 _x11=auto
@@ -568,7 +535,6 @@
 _liblzo=auto
 _mad=auto
 _mp3lame=auto
-_mp3lame_lavc=auto
 _toolame=auto
 _twolame=auto
 _tremor=auto
@@ -586,7 +552,6 @@
 _faad_internal=auto
 _faad_fixed=no
 _faac=auto
-_faac_lavc=auto
 _ladspa=auto
 _xmms=no
 _dvdnav=auto
@@ -634,11 +599,7 @@
 _svgalib_helper=no
 _joystick=no
 _xvid=auto
-_xvid_lavc=auto
 _x264=auto
-_x264_lavc=auto
-_libdirac_lavc=auto
-_libschroedinger_lavc=auto
 _libnut=auto
 _lirc=auto
 _lircc=auto
@@ -690,7 +651,6 @@
 _musepack=auto
 _vstream=auto
 _pthreads=auto
-_w32threads=auto
 _ass=auto
 _rpath=no
 _asmalign_pot=auto
@@ -790,12 +750,6 @@
   --as=*)
     _as=`echo $ac_option | cut -d '=' -f 2`
     ;;
-  --ar=*)
-    _ar=`echo $ac_option | cut -d '=' -f 2`
-    ;;
-  --ranlib=*)
-    _ranlib=`echo $ac_option | cut -d '=' -f 2`
-    ;;
   --windres=*)
     _windres=`echo $ac_option | cut -d '=' -f 2`
     ;;
@@ -919,8 +873,6 @@
   --disable-mad)	_mad=no		;;
   --enable-mp3lame)	_mp3lame=yes	;;
   --disable-mp3lame)	_mp3lame=no	;;
-  --enable-mp3lame-lavc)	_mp3lame_lavc=yes	;;
-  --disable-mp3lame-lavc)	_mp3lame_lavc=no	;;
   --enable-toolame)	_toolame=yes	;;
   --disable-toolame)	_toolame=no	;;
   --enable-twolame)	_twolame=yes	;;
@@ -961,8 +913,6 @@
   --disable-faad-fixed)	_faad_fixed=no	;;
   --enable-faac)	_faac=yes	;;
   --disable-faac)	_faac=no	;;
-  --enable-faac-lavc)	_faac_lavc=yes	;;
-  --disable-faac-lavc)	_faac_lavc=no	;;
   --enable-ladspa)	_ladspa=yes	;;
   --disable-ladspa)	_ladspa=no		;;
   --enable-xmms)	_xmms=yes	;;
@@ -1047,16 +997,8 @@
   --disable-joystick)	_joystick=no	;;
   --enable-xvid)	_xvid=yes	;;
   --disable-xvid)	_xvid=no	;;
-  --enable-xvid-lavc)	_xvid_lavc=yes	;;
-  --disable-xvid-lavc)	_xvid_lavc=no	;;
   --enable-x264)        _x264=yes       ;;
   --disable-x264)       _x264=no        ;;
-  --enable-x264-lavc)   _x264_lavc=yes  ;;
-  --disable-x264-lavc)  _x264_lavc=no   ;;
-  --enable-libdirac-lavc)   _libdirac_lavc=yes  ;;
-  --disable-libdirac-lavc)  _libdirac_lavc=no   ;;
-  --enable-libschroedinger-lavc)   _libschroedinger_lavc=yes  ;;
-  --disable-libschroedinger-lavc)  _libschroedinger_lavc=no   ;;
   --enable-libnut)	_libnut=yes	;;
   --disable-libnut)	_libnut=no	;;
   --enable-libavutil_a)		_libavutil_a=yes	;;
@@ -1067,20 +1009,6 @@
   --disable-libavcodec_a)	_libavcodec_a=no	;;
   --enable-libavcodec_so)	_libavcodec_so=yes	;;
   --disable-libavcodec_so)	_libavcodec_so=no	;;
-  --enable-libamr_nb)	_libamr_nb=yes	;;
-  --disable-libamr_nb)	_libamr_nb=no	;;
-  --enable-libamr_wb)	_libamr_wb=yes	;;
-  --disable-libamr_wb)	_libamr_wb=no	;;
-  --enable-decoder=*)	_libavdecoders="$_libavdecoders `echo $ac_option | cut -d '=' -f 2`" ;;
-  --disable-decoder=*)	_libavdecoders=`echo $_libavdecoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
-  --enable-encoder=*)	_libavencoders="$_libavencoders `echo $ac_option | cut -d '=' -f 2`" ;;
-  --disable-encoder=*)	_libavencoders=`echo $_libavencoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
-  --enable-parser=*)	_libavparsers="$_libavparsers `echo $ac_option | cut -d '=' -f 2`" ;;
-  --disable-parser=*)	_libavparsers=`echo $_libavparsers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
-  --enable-demuxer=*)	_libavdemuxers="$_libavdemuxers `echo $ac_option | cut -d '=' -f 2`" ;;
-  --disable-demuxer=*)	_libavdemuxers=`echo $_libavdemuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
-  --enable-muxer=*)	_libavmuxers="$_libavmuxers `echo $ac_option | cut -d '=' -f 2`" ;;
-  --disable-muxer=*)	_libavmuxers=`echo $_libavmuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
   --enable-libavformat_a)	_libavformat_a=yes	;;
   --disable-libavformat_a)	_libavformat_a=no	;;
   --enable-libavformat_so)	_libavformat_so=yes	;;
@@ -1089,13 +1017,6 @@
   --disable-libpostproc_a)	_libpostproc_a=no	;;
   --enable-libpostproc_so)	_libpostproc_so=yes	;;
   --disable-libpostproc_so)	_libpostproc_so=no	;;
-  --enable-libswscale_a)	_libswscale_a=yes	;;
-  --disable-libswscale_a)	_libswscale_a=no	;;
-  --enable-libswscale_so)	_libswscale_so=yes	;;
-  --disable-libswscale_so)	_libswscale_so=no	;;
-  --enable-libavcodec_mpegaudio_hp)	_libavcodec_mpegaudio_hp=yes	;;
-  --disable-libavcodec_mpegaudio_hp)	_libavcodec_mpegaudio_hp=no	;;
-
   --enable-lirc)	_lirc=yes	;;
   --disable-lirc)	_lirc=no	;;
   --enable-lircc)	_lircc=yes	;;
@@ -1162,8 +1083,6 @@
   --disable-vstream)    _vstream=no     ;;
   --enable-pthreads)    _pthreads=yes   ;;
   --disable-pthreads)   _pthreads=no    ;;
-  --enable-w32threads)  _w32threads=yes ;;
-  --disable-w32threads) _w32threads=no  ;;
   --enable-ass)         _ass=yes        ;;
   --disable-ass)        _ass=no         ;;
   --enable-rpath)       _rpath=yes      ;;
@@ -1361,7 +1280,7 @@
 fi
 
 
-_inc_extra="-I. $_inc_extra"
+_inc_extra="-I. -Iffmpeg $_inc_extra"
 _timer=timer-linux.c
 _getch=getch2.c
 if freebsd ; then
@@ -1384,12 +1303,6 @@
   _ld_extra="$_ld_extra -lC"
 fi
 
-if irix ; then
-  _ranlib='ar -r'
-elif linux ; then
-  _ranlib='true'
-fi
-
 if win32 ; then
   _exesuf=".exe"
   # -lwinmm is always needed for osdep/timer-win2.c
@@ -2241,17 +2154,6 @@
 fi
 
 
-echocheck "extern symbol prefix"
-cat > $TMPC << EOF
-int ff_extern;
-EOF
-cc_check -c || die "Symbol mangling check failed."
-sym=$(nm -P -g $TMPEXE)
-extern_prefix=${sym%%ff_extern*}
-_def_extern_prefix="#define EXTERN_PREFIX \"$extern_prefix\""
-echores $extern_prefix
-
-
 echocheck "assembler support of -pipe option"
 cat > $TMPC << EOF
 int main(void) { return 0; }
@@ -2694,7 +2596,7 @@
 fi
 echores "$_posix4"
 
-for func in llrint lrint lrintf round roundf; do
+for func in lrintf round; do
 echocheck $func
 cat > $TMPC << EOF
 #include <math.h>
@@ -2712,21 +2614,6 @@
 done
 
 
-echocheck "mkstemp"
-cat > $TMPC << EOF
-#include <stdlib.h>
-int main(void) { char a;  mkstemp(&a); return 0; }
-EOF
-_mkstemp=no
-cc_check && _mkstemp=yes
-if test "$_mkstemp" = yes ; then
-  _def_mkstemp='#define HAVE_MKSTEMP 1'
-else
-  _def_mkstemp='#undef HAVE_MKSTEMP'
-fi
-echores "$_mkstemp"
-
-
 echocheck "nanosleep"
 # also check for nanosleep
 cat > $TMPC << EOF
@@ -2952,7 +2839,6 @@
 else
  _def_memalign='#undef HAVE_MEMALIGN'
  _def_map_memalign='#define memalign(a,b) malloc(b)'
- darwin || _def_memalign_hack='#define CONFIG_MEMALIGN_HACK 1'
 fi
 echores "$_memalign"
 
@@ -3031,8 +2917,6 @@
 echores "$_dynamic_plugins"
 
 
-_def_threads='#undef HAVE_THREADS'
-
 echocheck "pthread"
 if test "$_pthreads" = auto ; then
 cat > $TMPC << EOF
@@ -3050,28 +2934,13 @@
 fi
 if test "$_pthreads" = yes ; then
   _res_comment="using $_ld_pthread"
-  _def_pthreads='#define HAVE_PTHREADS 1'
-  _def_threads='#define HAVE_THREADS 1'
 else
   _res_comment="v4l, v4l2, ao_nas, win32 loader disabled"
-  _def_pthreads='#undef HAVE_PTHREADS'
   _nas=no ; _tv_v4l1=no ; _tv_v4l2=no
   mingw32 || _win32dll=no
 fi
 echores "$_pthreads"
 
-echocheck "w32threads"
-if test "$_pthreads" = yes ; then
-  _res_comment="using pthread instead"
-  _w32threads=no
-fi
-if test "$_w32threads" = auto ; then
-  _w32threads=no
-  mingw32 && _w32threads=yes
-fi
-test "$_w32threads" = yes && _def_threads='#define HAVE_THREADS 1'
-echores "$_w32threads"
-
 echocheck "rpath"
 netbsd &&_rpath=yes
 if test "$_rpath" = yes ; then
@@ -4040,7 +3909,6 @@
 else
   _def_xvmc='#undef HAVE_XVMC'
   _novomodules="xvmc $_novomodules"
-  _libavdecoders=`echo $_libavdecoders | sed -e s/MPEG_XVMC_DECODER// `
 fi
 echores "$_xvmc"
 
@@ -5747,8 +5615,6 @@
   _ld_extra="$_ld_extra -lz"
 else
   _def_zlib='#undef CONFIG_ZLIB'
-  _libavdecoders=`echo $_libavdecoders | sed -e s/FLASHSV_DECODER// -e s/PNG_DECODER// -e s/ZMBV_DECODER// -e s/DXA_DECODER// `
-  _libavencoders=`echo $_libavencoders | sed -e s/FLASHSV_ENCODER// -e s/PNG_ENCODER// -e s/ZMBV_ENCODER// `
 fi
 echores "$_zlib"
 
@@ -6110,20 +5976,11 @@
 fi
 if test "$_faac" = yes ; then
   _def_faac="#define CONFIG_FAAC 1"
-  test "$_faac_lavc" = auto && _faac_lavc=yes
-  if test "$_faac_lavc" = yes ; then
-    _def_faac_lavc="#define CONFIG_LIBFAAC 1"
-    _libs_mplayer="$_libs_mplayer $_ld_faac"
-    _libavencoders="$_libavencoders LIBFAAC_ENCODER"
-  fi
   _codecmodules="faac $_codecmodules"
 else
-  _faac_lavc=no
   _def_faac="#undef CONFIG_FAAC"
-  _def_faac_lavc="#undef CONFIG_LIBFAAC"
   _nocodecmodules="faac $_nocodecmodules"
 fi
-_res_comment="in libavcodec: $_faac_lavc"
 echores "$_faac"
 
 
@@ -6383,7 +6240,7 @@
 
 echocheck "FFmpeg libavutil"
 if test "$_libavutil_a" = auto ; then
-  if test -d libavutil ; then
+  if test -d ffmpeg/libavutil ; then
     _libavutil_a=yes
     _res_comment="static"
   else
@@ -6423,7 +6280,7 @@
 echocheck "FFmpeg libavcodec"
 if test "$_libavcodec_a" = auto ; then
   _libavcodec_a=no
-  if test -d libavcodec && test -f libavcodec/utils.c ; then
+  if test -d ffmpeg/libavcodec && test -f ffmpeg/libavcodec/utils.c ; then
     _libavcodec_a="yes"
     _res_comment="static"
   fi
@@ -6467,7 +6324,7 @@
 echocheck "FFmpeg libavformat"
 if test "$_libavformat_a" = auto ; then
   _libavformat_a=no
-  if test -d libavformat && test -f libavformat/utils.c ; then
+  if test -d ffmpeg/libavformat && test -f ffmpeg/libavformat/utils.c ; then
     _libavformat_a=yes
     _res_comment="static"
   fi
@@ -6503,7 +6360,7 @@
 echocheck "FFmpeg libpostproc"
 if test "$_libpostproc_a" = auto ; then
   _libpostproc_a=no
-  if test -d libpostproc && test -f libpostproc/postprocess.h ; then
+  if test -d ffmpeg/libpostproc && test -f ffmpeg/libpostproc/postprocess.h ; then
     _libpostproc_a='yes'
     _res_comment="static"
   fi
@@ -6534,7 +6391,7 @@
 echocheck "FFmpeg libswscale"
 if test "$_libswscale_a" = auto ; then
   _libswscale_a=no
-  if test -d libswscale && test -f libswscale/swscale.h ; then
+  if test -d ffmpeg/libswscale && test -f ffmpeg/libswscale/swscale.h ; then
     _libswscale_a='yes'
     _res_comment="static"
   fi
@@ -6566,61 +6423,6 @@
   && _def_libswscale_so='#define CONFIG_LIBSWSCALE_SO 1'
 echores "$_libswscale"
 
-echocheck "libamr narrowband"
-if test "$_libamr_nb" = auto ; then
-  _libamr_nb=no
-  cat > $TMPC << EOF
-#include <amrnb/sp_dec.h>
-int main(void) { Speech_Decode_Frame_init(); return 0; }
-EOF
-  cc_check -lamrnb && _libamr_nb=yes
-  if test "$_libavcodec_a" != yes ; then
-    _libamr_nb=no
-    _res_comment="libavcodec (static) is required by libamr_nb, sorry"
-  fi
-fi
-if test "$_libamr_nb" = yes ; then
-  _libamr=yes
-  _ld_extra="$_ld_extra -lamrnb"
-  _def_libamr='#define CONFIG_LIBAMR 1'
-  _def_libamr_nb='#define CONFIG_LIBAMR_NB 1'
-  _libavdecoders="$_libavdecoders LIBAMR_NB_DECODER"
-  _libavencoders="$_libavencoders LIBAMR_NB_ENCODER"
-  _codecmodules="libamr_nb $_codecmodules"
-else
-  _def_libamr_nb='#undef CONFIG_LIBAMR_NB'
-  _nocodecmodules="libamr_nb $_nocodecmodules"
-fi
-echores "$_libamr_nb"
-
-
-echocheck "libamr wideband"
-if test "$_libamr_wb" = auto ; then
-  _libamr_wb=no
-  cat > $TMPC << EOF
-#include <amrwb/dec_if.h>
-int main(void) { D_IF_init(); return 0; }
-EOF
-  cc_check -lamrwb && _libamr_wb=yes
-  if test "$_libavcodec_a" != yes ; then
-    _libamr_wb=no
-    _res_comment="libavcodec (static) is required by libamr_wb, sorry"
-  fi
-fi
-if test "$_libamr_wb" = yes ; then
-  _libamr=yes
-  _ld_extra="$_ld_extra -lamrwb"
-  _def_libamr='#define CONFIG_LIBAMR 1'
-  _def_libamr_wb='#define CONFIG_LIBAMR_WB 1'
-  _libavdecoders="$_libavdecoders LIBAMR_WB_DECODER"
-  _libavencoders="$_libavencoders LIBAMR_WB_ENCODER"
-  _codecmodules="libamr_wb $_codecmodules"
-else
-  _def_libamr_wb='#undef CONFIG_LIBAMR_WB'
-  _nocodecmodules="libamr_wb $_nocodecmodules"
-fi
-echores "$_libamr_wb"
-
 echocheck "libdv-0.9.5+"
 if test "$_libdv" = auto ; then
   _libdv=no
@@ -6662,24 +6464,7 @@
 fi
 echores "$_xvid"
 
-echocheck "Xvid two pass plugin"
-if test "$_xvid" = yes && test "$_xvid_lavc" = auto ; then
-  cat > $TMPC << EOF
-#include <xvid.h>
-int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
-EOF
-  cc_check && _xvid_lavc=yes
-fi
-if test "$_xvid_lavc" = yes ; then
-  _def_xvid_lavc='#define CONFIG_LIBXVID 1'
-  _libavencoders="$_libavencoders LIBXVID_ENCODER"
-else
-  _xvid_lavc=no
-  _def_xvid_lavc='#undef CONFIG_LIBXVID'
-fi
-echores "$_xvid_lavc"
 
-
 echocheck "x264"
 if test "$_x264" = auto ; then
   cat > $TMPC << EOF
@@ -6699,95 +6484,13 @@
 if test "$_x264" = yes ; then
   _def_x264='#define CONFIG_X264 1'
   _codecmodules="x264 $_codecmodules"
-  test "$_x264_lavc" = auto && _x264_lavc=yes
-  if test "$_x264_lavc" = yes ; then
-    _def_x264_lavc='#define CONFIG_LIBX264 1'
-    _libs_mplayer="$_libs_mplayer $_ld_x264"
-    _libavencoders="$_libavencoders LIBX264_ENCODER"
-  fi
 else
-  _x264_lavc=no
   _def_x264='#undef CONFIG_X264'
-  _def_x264_lavc='#undef CONFIG_LIBX264'
   _nocodecmodules="x264 $_nocodecmodules"
 fi
-_res_comment="in libavcodec: $_x264_lavc"
 echores "$_x264"
 
 
-echocheck "libdirac"
-if test "$_libdirac_lavc" = auto; then
-  _libdirac_lavc=no
-  if test "$_libavcodec_a" != yes; then
-    _res_comment="libavcodec (static) is required by libdirac, sorry"
-  else
-    cat > $TMPC << EOF
-#include <libdirac_encoder/dirac_encoder.h>
-#include <libdirac_decoder/dirac_parser.h>
-int main(void)
-{
-    dirac_encoder_context_t enc_ctx;
-    dirac_decoder_t *dec_handle;
-    dirac_encoder_context_init(&enc_ctx, VIDEO_FORMAT_SD_576I50);
-    dec_handle = dirac_decoder_init(0);
-    if (dec_handle)
-        dirac_decoder_close(dec_handle);
-    return 0;
-}
-EOF
-    if $_pkg_config --exists dirac ; then
-      _inc_dirac=`$_pkg_config --silence-errors --cflags dirac`
-      _ld_dirac=`$_pkg_config --silence-errors --libs dirac`
-      cc_check $_inc_dirac $_ld_dirac      &&
-      _libdirac_lavc=yes                   &&
-      _inc_extra="$_inc_extra $_inc_dirac" &&
-      _ld_extra="$_ld_extra $_ld_dirac"
-    fi
-  fi
-fi
-if test "$_libdirac_lavc" = yes ; then
-  _def_libdirac_lavc='#define CONFIG_LIBDIRAC 1'
-  _libavencoders="$_libavencoders LIBDIRAC_ENCODER"
-  _libavdecoders="$_libavdecoders LIBDIRAC_DECODER"
-  _codecmodules="libdirac $_codecmodules"
-else
-  _def_libdirac_lavc='#undef CONFIG_LIBDIRAC'
-  _nocodecmodules="libdirac $_nocodecmodules"
-fi
-echores "$_libdirac_lavc"
-
-
-echocheck "libschroedinger"
-if test "$_libschroedinger_lavc" = auto ; then
-  _libschroedinger_lavc=no
-  if test "$_libavcodec_a" != yes; then
-    _res_comment="libavcodec (static) is required by libschroedinger, sorry"
-  else
-    cat > $TMPC << EOF
-#include <schroedinger/schro.h>
-int main(void) { schro_init(); return 0; }
-EOF
-    if $_pkg_config --exists schroedinger-1.0 ; then
-      _inc_schroedinger=`$_pkg_config --silence-errors --cflags schroedinger-1.0`
-      _ld_schroedinger=`$_pkg_config --silence-errors --libs schroedinger-1.0`
-      cc_check $_inc_schroedinger $_ld_schroedinger &&
-      _libschroedinger_lavc=yes                     &&
-      _inc_extra="$_inc_extra $_inc_schroedinger"   &&
-      _ld_extra="$_ld_extra $_ld_schroedinger"
-    fi
-  fi
-fi
-if test "$_libschroedinger_lavc" = yes ; then
-  _def_libschroedinger_lavc='#define CONFIG_LIBSCHROEDINGER 1'
-  _libavencoders="$_libavencoders LIBSCHROEDINGER_ENCODER"
-  _libavdecoders="$_libavdecoders LIBSCHROEDINGER_DECODER"
-  _codecmodules="libschroedinger $_codecmodules"
-else
-  _def_libschroedinger_lavc='#undef CONFIG_LIBSCHROEDINGER'
-  _nocodecmodules="libschroedinger $_nocodecmodules"
-fi
-echores "$_libschroedinger_lavc"
-
 echocheck "libnut"
 if test "$_libnut" = auto ; then
   cat > $TMPC << EOF
@@ -6866,30 +6569,18 @@
 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
 EOF
   cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium="#define CONFIG_MP3LAME_PRESET_MEDIUM"
-  test "$_mp3lame_lavc" = auto && _mp3lame_lavc=yes
-  if test "$_mp3lame_lavc" = yes ; then
-    _def_mp3lame_lavc="#define CONFIG_LIBMP3LAME 1"
-    _libavencoders="$_libavencoders LIBMP3LAME_ENCODER"
-    _libs_mplayer="$_libs_mplayer $_ld_mp3lame"
-  fi
 else
-  _mp3lame_lavc=no
   _def_mp3lame='#undef CONFIG_MP3LAME'
-  _def_mp3lame_lavc="#undef CONFIG_LIBMP3LAME"
 fi
-_res_comment="in libavcodec: $_mp3lame_lavc"
 echores "$_mp3lame"
 
 fi # test "$_mencoder" != no
 
+#FIXME: This needs some further loving..
 echocheck "mencoder"
-if test "$_mencoder" = yes ; then
-  _def_muxers='#define CONFIG_MUXERS 1'
-else
+if test "$_mencoder" = no ; then
   # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint, png for vf_screenshot
-  _libavencoders="MPEG1VIDEO_ENCODER SNOW_ENCODER"
-  test "$_zlib" = yes && _libavencoders="$_libavencoders PNG_ENCODER"
-  _libavmuxers=""
+  _ffmpeg_extra="--enable-encoder=snow --enable-encoder=mpeg1video"
 fi
 echores "$_mencoder"
 
@@ -7380,8 +7071,7 @@
 if test "$_gui" = yes ; then
 
   # Required libraries
-  if test "$_libavcodec" != yes ||
-      ! echo $_libavdecoders | grep -q PNG_DECODER ; then
+  if test "$_libavcodec" != yes ; then
     die "The GUI requires libavcodec with PNG support (needs zlib)."
   fi
   test "$_freetype" = no && test "$_bitmap_font" = no && \
@@ -7755,13 +7445,11 @@
 MANDIR = \$(DESTDIR)$_mandir
 CONFDIR = \$(DESTDIR)$_confdir
 
-AR = $_ar
 CC = $_cc
 CXX = $_cc
 HOST_CC = $_host_cc
 INSTALL = $_install
 INSTALLSTRIP = $_install_strip
-RANLIB = $_ranlib
 WINDRES = $_windres
 
 EXTRA_INC = $_inc_extra
@@ -7778,6 +7466,9 @@
 CFLAGS_SVGALIB_HELPER = $cflags_svgalib_helper
 CFLAGS_TREMOR_LOW = $cflags_tremor_low
 
+MPDEPEND_CMD     = \$(CC) -MM \$(CFLAGS)   \$(filter-out %.xpm,\$(filter-out %.h,$^)) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
+MPDEPEND_CMD_CXX = \$(CC) -MM \$(CXXFLAGS) \$(filter-out %.xpm,\$(filter-out %.h,$^)) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
+
 EXTRALIBS = $_extra_libs
 EXTRA_LIB = $_ld_extra $_ld_static $_ld_lm
 EXTRALIBS_MPLAYER = $_libs_mplayer
@@ -7934,42 +7625,6 @@
 LIBSWSCALE = $_libswscale
 LIBSWSCALE_A = $_libswscale_a
 LIBSWSCALE_SO = $_libswscale_so
-
-BUILD_STATIC=yes
-SRC_PATH=..
-BUILD_ROOT=..
-LIBPREF=lib
-LIBSUF=.a
-LIBNAME=\$(LIBPREF)\$(NAME)\$(LIBSUF)
-
-CONFIG_ENCODERS=yes
-CONFIG_GPL=yes
-CONFIG_MUXERS=$_mencoder
-CONFIG_LIBAMR=$_libamr
-CONFIG_LIBAMR_NB=$_libamr_nb
-CONFIG_LIBAMR_WB=$_libamr_wb
-CONFIG_LIBDIRAC=$_libdirac_lavc
-CONFIG_LIBFAAC=$_faac_lavc
-CONFIG_LIBMP3LAME=$_mp3lame_lavc
-CONFIG_LIBSCHROEDINGER=$_libschroedinger_lavc
-CONFIG_LIBVORBIS=$_libvorbis
-CONFIG_LIBX264=$_x264_lavc
-CONFIG_LIBXVID=$_xvid_lavc
-CONFIG_MLIB = $_mlib
-CONFIG_POSTPROC = yes
-# Prevent building libavcodec/imgresample.c with conflicting symbols
-CONFIG_SWSCALE=yes
-CONFIG_ZLIB=$_zlib
-
-HAVE_PTHREADS = $_pthreads
-HAVE_W32THREADS = $_w32threads
-
-`echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
-`echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
-`echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
-`echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
-`echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
-`echo $_libavbsfs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
 EOF
 
 #############################################################################
@@ -8110,11 +7765,8 @@
 $_def_sysi86_iv
 
 /* C99 *lrint* and round* functions available */
-$_def_llrint
-$_def_lrint
 $_def_lrintf
 $_def_round
-$_def_roundf
 
 /* name of messages charset */
 $_def_charset
@@ -8645,64 +8297,6 @@
 $_def_libswscale_a
 $_def_libswscale_so
 
-/* Define this if you enabled thread support for libavcodec */
-$_def_threads
-$_def_pthreads
-#ifdef HAVE_THREADS
-#define ENABLE_THREADS 1
-#else
-#define ENABLE_THREADS 0
-#endif
-
-/* Use libavcodec's decoders */
-#define CONFIG_DECODERS 1
-#define ENABLE_DECODERS 1
-/* Use libavcodec's encoders */
-#define CONFIG_ENCODERS 1
-#define ENABLE_ENCODERS 1
-
-/* Use libavformat's demuxers */
-#define CONFIG_DEMUXERS 1
-#define ENABLE_DEMUXERS 1
-/* Use libavformat's muxers */
-$_def_muxers
-
-/* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
-#define HAVE_EBX_AVAILABLE 1
-#ifndef MP_DEBUG
-#define HAVE_EBP_AVAILABLE 1
-#endif
-
-#define CONFIG_GPL 1
-#define ENABLE_SMALL 0
-#define ENABLE_GRAY 0
-
-/* External libraries used through libavcodec. */
-$_def_faac_lavc
-$_def_libamr
-$_def_libamr_nb
-$_def_libamr_wb
-$_def_libdirac_lavc
-$_def_libschroedinger_lavc
-$_def_mp3lame_lavc
-$_def_x264_lavc
-$_def_xvid_lavc
-
-/* mkstemp support */
-$_def_mkstemp
-
-/* extern symbol prefix */
-$_def_extern_prefix
-
-/* Use specific parts from FFmpeg. */
-`ff_config_enable "$_libavdecoders_all" "$_libavdecoders"`
-`ff_config_enable "$_libavencoders_all" "$_libavencoders"`
-`ff_config_enable "$_libavparsers_all"  "$_libavparsers"`
-`ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers"`
-`ff_config_enable "$_libavmuxers_all"   "$_libavmuxers"`
-`ff_config_enable "$_libavprotocols_all" "$_libavprotocols"`
-`ff_config_enable "$_libavbsfs_all" "$_libavbsfs"`
-
 #endif /* MPLAYER_CONFIG_H */
 EOF
 
@@ -8795,3 +8389,9 @@
 
 # Last move:
 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"
+
+echo "Calling FFmpeg configure..."
+_ffmpeg_opts="--enable-gpl --enable-postproc --enable-swscale --disable-vhook --disable-devices --disable-protocols --disable-avfilter --disable-avfilter-lavf --disable-network --disable-shared --disable-ffmpeg --disable-ffserver --disable-ffplay"
+
+cd ffmpeg
+./configure $_ffmpeg_opts
Index: subdir.mak
===================================================================
--- subdir.mak	(revision 27762)
+++ subdir.mak	(working copy)
@@ -1,74 +0,0 @@
-SRC_DIR := $(SRC_PATH_BARE)/lib$(NAME)
-
-include $(SUBDIR)../common.mak
-
-LIBVERSION := $(lib$(NAME)_VERSION)
-LIBMAJOR   := $(lib$(NAME)_VERSION_MAJOR)
-
-ifeq ($(BUILD_STATIC),yes)
-all: $(SUBDIR)$(LIBNAME)
-
-install-libs: install-lib$(NAME)-static
-
-$(SUBDIR)$(LIBNAME): $(OBJS)
-	rm -f $@
-	$(AR) rc $@ $^ $(EXTRAOBJS)
-	$(RANLIB) $@
-endif
-
-INCINSTDIR := $(INCDIR)/lib$(NAME)
-
-define RULES
-ifdef BUILD_SHARED
-all: $(SUBDIR)$(SLIBNAME)
-
-install-libs: install-lib$(NAME)-shared
-
-$(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR)
-	cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME)
-
-$(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(OBJS)
-	$(SLIB_CREATE_DEF_CMD)
-	$(CC) $(SHFLAGS) $(FFLDFLAGS) -o $$@ $$^ $(FFEXTRALIBS) $(EXTRAOBJS)
-	$(SLIB_EXTRA_CMD)
-
-ifdef SUBDIR
-$(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(DEP_LIBS)
-endif
-endif
-
-install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME)
-	install -d "$(SHLIBDIR)"
-	install -m 755 $(SUBDIR)$(SLIBNAME) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
-	$(STRIP) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
-	cd "$(SHLIBDIR)" && \
-		$(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR)
-	cd "$(SHLIBDIR)" && \
-		$(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME)
-	$(SLIB_INSTALL_EXTRA_CMD)
-
-install-lib$(NAME)-static: $(SUBDIR)$(LIBNAME)
-	install -d "$(LIBDIR)"
-	install -m 644 $(SUBDIR)$(LIBNAME) "$(LIBDIR)"
-	$(LIB_INSTALL_EXTRA_CMD)
-
-install-headers::
-	install -d "$(INCINSTDIR)"
-	install -d "$(LIBDIR)/pkgconfig"
-	install -m 644 $(addprefix "$(SRC_DIR)"/,$(HEADERS)) "$(INCINSTDIR)"
-	install -m 644 $(BUILD_ROOT)/lib$(NAME).pc "$(LIBDIR)/pkgconfig"
-
-uninstall-libs::
-	-rm -f "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR)" \
-	       "$(SHLIBDIR)/$(SLIBNAME)"            \
-	       "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
-	-$(SLIB_UNINSTALL_EXTRA_CMD)
-	-rm -f "$(LIBDIR)/$(LIBNAME)"
-
-uninstall-headers::
-	rm -f $(addprefix "$(INCINSTDIR)/",$(HEADERS))
-	rm -f "$(LIBDIR)/pkgconfig/lib$(NAME).pc"
-	-rmdir "$(INCDIR)"
-endef
-
-$(eval $(RULES))
Index: common.mak
===================================================================
--- common.mak	(revision 27762)
+++ common.mak	(working copy)
@@ -1,96 +0,0 @@
-#
-# common bits used by all libraries
-#
-
-all: # make "all" default target
-
-ifndef SUBDIR
-vpath %.c $(SRC_DIR)
-vpath %.h $(SRC_DIR)
-vpath %.S $(SRC_DIR)
-
-ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale
-
-CFLAGS = -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
-         -D_ISOC9X_SOURCE -I$(BUILD_ROOT) -I$(SRC_PATH) $(OPTFLAGS)
-
-%.o: %.c
-	$(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
-
-%.o: %.S
-	$(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
-
-%.ho: %.h
-	$(CC) $(CFLAGS) $(LIBOBJFLAGS) -Wno-unused -c -o $@ -x c $<
-
-%.d: %.c
-	$(DEPEND_CMD) > $@
-
-%.d: %.S
-	$(DEPEND_CMD) > $@
-
-%.d: %.cpp
-	$(DEPEND_CMD) > $@
-
-%$(EXESUF): %.c
-
-install: install-libs install-headers
-
-uninstall: uninstall-libs uninstall-headers
-
-.PHONY: all depend dep clean distclean install* uninstall* tests
-endif
-
-CFLAGS   += $(CFLAGS-yes)
-OBJS     += $(OBJS-yes)
-ASM_OBJS += $(ASM_OBJS-yes)
-CPP_OBJS += $(CPP_OBJS-yes)
-FFLIBS   := $(FFLIBS-yes) $(FFLIBS)
-TESTS    += $(TESTS-yes)
-
-FFEXTRALIBS := $(addprefix -l,$(addsuffix $(BUILDSUF),$(FFLIBS))) $(EXTRALIBS)
-FFLDFLAGS   := $(addprefix -L$(BUILD_ROOT)/lib,$(FFLIBS)) $(LDFLAGS)
-
-SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S) $(CPP_OBJS:.o=.cpp)
-OBJS := $(OBJS) $(ASM_OBJS) $(CPP_OBJS)
-
-SRCS  := $(addprefix $(SUBDIR),$(SRCS))
-OBJS  := $(addprefix $(SUBDIR),$(OBJS))
-TESTS := $(addprefix $(SUBDIR),$(TESTS))
-
-DEP_LIBS:=$(foreach NAME,$(FFLIBS),lib$(NAME)/$($(BUILD_SHARED:yes=S)LIBNAME))
-
-ALLHEADERS := $(subst $(SRC_DIR)/,$(SUBDIR),$(wildcard $(SRC_DIR)/*.h))
-checkheaders: $(filter-out %_template.ho,$(ALLHEADERS:.h=.ho))
-
-DEPS := $(OBJS:.o=.d)
-depend dep: $(DEPS)
-
-CLEANSUFFIXES = *.o *~ *.ho
-LIBSUFFIXES   = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp *.map
-DISTCLEANSUFFIXES = *.d
-
-define RULES
-$(SUBDIR)%$(EXESUF): $(SUBDIR)%.o
-	$(CC) $(FFLDFLAGS) -o $$@ $$^ $(SUBDIR)$(LIBNAME) $(FFEXTRALIBS)
-
-$(SUBDIR)%-test.o: $(SUBDIR)%.c
-	$(CC) $(CFLAGS) -DTEST -c -o $$@ $$^
-
-$(SUBDIR)%-test.o: $(SUBDIR)%-test.c
-	$(CC) $(CFLAGS) -DTEST -c -o $$@ $$^
-
-clean::
-	rm -f $(TESTS) $(addprefix $(SUBDIR),$(CLEANFILES) $(CLEANSUFFIXES) $(LIBSUFFIXES)) \
-	    $(addprefix $(SUBDIR), $(foreach suffix,$(CLEANSUFFIXES),$(addsuffix /$(suffix),$(DIRS))))
-
-distclean:: clean
-	rm -f  $(addprefix $(SUBDIR),$(DISTCLEANSUFFIXES)) \
-            $(addprefix $(SUBDIR), $(foreach suffix,$(DISTCLEANSUFFIXES),$(addsuffix /$(suffix),$(DIRS))))
-endef
-
-$(eval $(RULES))
-
-tests: $(TESTS)
-
--include $(DEPS)
_______________________________________________
MPlayer-dev-eng mailing list
MPlayer-dev-eng@xxxxxxxxxxxx
https://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng