ifneq ($(AR),)
HOSTCC+= AR="$(AR)"
endif
+ifneq ($(STRIP),)
+HOSTCC+= STRIP="$(STRIP)"
+endif
+
# Define ranlib on non-cross compilation setups
ifeq ($(RANLIB),)
ifndef HAVE_CYGWIN
# We are REALLY cross compiling
FFMPEGCONF=--cross-prefix=$(HOST)- --cross-compile
- X264CONF=--crosscompile=$(HOST)
+ X264CONF=--host=$(HOST)
PTHREADSCONF="CROSS=$(HOST)-"
else
# We are compiling for MinGW on Cygwin
ifdef HAVE_UCLIBC
ifdef HAVE_BIGENDIAN
-FFMPEGCONF+= --arch=armeb
+FFMPEGCONF+= --arch=armeb --enable-armv5te --enable-small --enable-iwmmxt
else
FFMPEGCONF+= --arch=armv4l
endif
FFMPEGCONF+= --enable-small --disable-debug --disable-encoders --disable-muxers --disable-demuxer=mpegts --disable-v4l --disable-v4l2 --disable-bktr --disable-dv1394 --disable-mpegaudio-hp --disable-decoder=snow --disable-decoder=vc9 --disable-decoder=wmv3 --disable-decoder=vorbis --disable-decoder=dvdsub --disable-decoder=dvbsub --disable-protocols --disable-encoders
FFMPEG_CFLAGS += -DHAVE_LRINTF --std=c99
else
-FFMPEGCONF+= --enable-libmp3lame --enable-libfaac --enable-liba52
+FFMPEGCONF+= --enable-libmp3lame --enable-libfaac --enable-liba52 --enable-swscaler
endif
ifdef HAVE_BEOS
endif
endif
+ifdef HAVE_AMR
+FFMPEGCONF+= --enable-libamr --enable-libamr-nb --enable-libamr-wb
+endif
+
DATE=`date +%Y-%m-%d`
# ***************************************************************************
# ***************************************************************************
ifdef HAVE_DARWIN_OS
-.libtool:
- if test -x /usr/bin/glibtoolize; then \
- mkdir -p $(PREFIX)/bin ; \
- ln -sf /usr/bin/glibtoolize $(PREFIX)/bin/libtoolize ; \
- fi
- if test -f /usr/share/aclocal/libtool.m4; then \
- mkdir -p $(PREFIX)/share/aclocal ; \
- ln -sf /usr/share/aclocal/libtool.m4 $(PREFIX)/share/aclocal ; \
- fi
+libtool-$(LIBTOOL_VERSION).tar.gz:
+ $(WGET) $(LIBTOOL_URL)
+
+libtool: libtool-$(LIBTOOL_VERSION).tar.gz
+ $(EXTRACT_GZ)
+
+.libtool: libtool
+ (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+ ln -sf libtool $(PREFIX)/bin/glibtool
+ ln -sf libtoolize $(PREFIX)/bin/glibtoolize
touch $@
+
+CLEAN_PKG += libtool
+DISTCLEAN_PKG += libtool-$(LIBTOOL_VERSION).tar.gz
+CLEAN_FILE += .libtool
+
endif
ifeq ($(BUILD),i586-pc-beos)
CLEAN_PKG += libtool
DISTCLEAN_PKG += libtool-$(LIBTOOL_VERSION).tar.gz
-endif
-
CLEAN_FILE += .libtool
+endif
+
# ***************************************************************************
# automake
# ***************************************************************************
( cd $< && for f in `find . -name libtool`; do sed -e 's/ -shared / -nostart /' -e 's/^predep_objects.*/predep_objects=""/' -i $$f; chmod +x $$f; done )
endif
ifneq ($(HOST),$(BUILD))
-# We'll use the installed gettext and only need to cross-compile libintl, also build autopoint and gettextsize tools need for VLC bootstrap
+ ifndef HAVE_CYGWIN
+ # We'll use the installed gettext and only need to cross-compile libintl, also build autopoint and gettextsize tools need for VLC bootstrap
( cd $< && make -C gettext-runtime/intl && patch -p1 < ../Patches/libintl.patch && make -C gettext-runtime/intl install && make -C gettext-tools/misc install )
+ else
+ # We are compiling for MinGW on Cygwin -- build the full current gettext
+ ( cd $< && make && patch -p1 < ../Patches/libintl.patch && make install )
+ endif
else
# Build and install the whole gettext
( cd $< && make && patch -p1 < ../Patches/libintl.patch && make install )
CLEAN_PKG += libiconv
DISTCLEAN_PKG += libiconv-$(LIBICONV_VERSION).tar.gz
+# ***************************************************************************
+# fontconfig
+# ***************************************************************************
+
+fontconfig-$(FONTCONFIG_VERSION).tar.gz:
+ $(WGET) $(FONTCONFIG_URL)
+
+fontconfig: fontconfig-$(FONTCONFIG_VERSION).tar.gz Patches/fontconfig.patch
+ $(EXTRACT_GZ)
+ patch -p0 < Patches/fontconfig.patch
+
+.fontconfig: fontconfig
+ifdef HAVE_WIN32
+ ifdef HAVE_CYGWIN
+ (cd $<; LIBXML2_CFLAGS=`$(PREFIX)/bin/xml2-config --cflags` ./configure --target=$(HOST) --disable-pic --disable-shared --with-cache-dir=WINDOWSTEMPDIR --with-arch=i686 --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 && make && make install)
+ else
+ (cd $<; $(HOSTCC) LIBXML2_CFLAGS=`$(PREFIX)/bin/xml2-config --cflags` ./configure $(HOSTCONF) --with-cache-dir=WINDOWSTEMPDIR --with-arch=i686 --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 && make && make install)
+ endif
+else
+ ifdef HAVE_DARWIN_OS
+ (cd $<; $(HOSTCC) LIBXML2_CFLAGS=`xml2-config --cflags` LIBXML2_LIBS=`xml2-config --libs` ./configure $(HOSTCONF) --with-cache-dir=/var/cache/fontconfig --with-confdir=/etc/fonts --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 && make && make install-exec && (cd fontconfig ; make install-data))
+ else
+ (cd $<; $(HOSTCC) LIBXML2_CFLAGS=`$(PREFIX)/bin/xml2-config --cflags` ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 && make && make install)
+ endif
+endif
+ $(INSTALL_NAME)
+ touch $@
+
+CLEAN_FILE += .fontconfig
+CLEAN_PKG += fontconfig
+DISTCLEAN_PKG += fontconfig-$(FONTCONFIG_VERSION).tar.gz
+
# ***************************************************************************
# freetype2
# ***************************************************************************
freetype2: freetype-$(FREETYPE2_VERSION).tar.gz
$(EXTRACT_GZ)
+ patch -p0 < Patches/freetype-cross.patch
.freetype: freetype2
ifdef HAVE_CYGWIN
CLEAN_PKG += libid3tag
DISTCLEAN_PKG += libid3tag-$(LIBID3TAG_VERSION).tar.gz
-
# ***************************************************************************
# lua
# ***************************************************************************
.lua: lua
ifdef HAVE_WIN32
- ( cd $<; sed -i.orig 's/lua luac/lua.exe/' Makefile ; cd src; sed -i.orig 's/gcc/$(CC)/' Makefile; cd ../..;)
- (cd $<; $(HOSTCC) make $(LUA_MAKEPLATEFORM); cd src; $(HOSTCC) make liblua.a; cd ..;$(HOSTCC) make install INSTALL_TOP=$(PREFIX))
+ ( cd $<; sed -i.orig 's/lua luac/lua.exe/' Makefile ; cd src; sed -i.orig 's/CC=/#CC=/' Makefile; cd ../..;)
+ (cd $<; $(HOSTCC) make $(LUA_MAKEPLATEFORM); cd src; $(HOSTCC) make liblua.a; cd ..;$(HOSTCC) make install INSTALL_TOP=$(PREFIX); $(RANLIB) $(PREFIX)/lib/liblua.a)
+ (cd $<; sed -i.orig 's@prefix= /usr/local@prefix= $(PREFIX)@' etc/lua.pc; mkdir -p $(PREFIX)/lib/pkgconfig; cp etc/lua.pc $(PREFIX)/lib/pkgconfig)
else
(cd $<; $(HOSTCC) make $(LUA_MAKEPLATEFORM) && make install INSTALL_TOP=$(PREFIX))
endif
libvorbis: libvorbis-$(VORBIS_VERSION).tar.gz
$(EXTRACT_GZ)
- patch -p0 < Patches/libvorbis-1.1.patch
+ patch -p0 < Patches/libvorbis.patch
(cd $@; autoconf)
.vorbis: libvorbis .ogg
(cd $@; rm -f ogg.h && echo "#include <ogg/ogg.h>" > ogg.h && rm -f os_types.h && echo "#include <ogg/os_types.h>" > os_types.h && ./autogen.sh)
else
tremor-$(TREMOR_VERSION).tar.bz2:
+ echo "tremor snapshot does not exist, you MUST use subversion !"
+ exit -1
$(WGET) $(TREMOR_URL)
tremor: tremor-$(TREMOR_VERSION).tar.bz2
ifdef SVN
tremor-source: tremor
- cd tremor; find . -depth -iname ".svn" -exec rm -rf {} \;
- cd ..;
tar cfvz tremor-$(DATE).tar.gz tremor
SOURCE += tremor-source
CLEAN_FILE += .tremor
CLEAN_PKG += tremor
-#DISTCLEAN_PKG += tremor-$(TREMOR_VERSION).tar.gz
+#DISTCLEAN_PKG += tremor-$(TREMOR_VERSION).tar.bz2 #no tremor snapshot
# ***************************************************************************
# theora
libtheora: libtheora-$(THEORA_VERSION).tar.bz2
$(EXTRACT_BZ2)
patch -p0 < Patches/theora.patch
- patch -p0 < Patches/theora-1.0a7.patch
(cd $@; autoconf)
.theora: libtheora .ogg
ifdef HAVE_BEOS
- (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-sdltest --disable-oggtest --disable-vorbistest --disable-asm && make && make install)
+ (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-sdltest --disable-oggtest --disable-vorbistest --disable-asm --disable-examples && make && make install)
else
- (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-sdltest --disable-oggtest --disable-vorbistest && make && make install)
-
+ ifdef HAVE_DARWIN_9
+ (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-asm --disable-sdltest --disable-oggtest --disable-vorbistest --disable-asm --disable-examples && make && make install)
+ else
+ (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-sdltest --disable-oggtest --disable-vorbistest --disable-examples && make && make install)
+ endif
endif
$(INSTALL_NAME)
touch $@
$(EXTRACT_GZ)
ifdef HAVE_WIN32
patch -p0 < Patches/libshout-win32.patch
- (cd $@; aclocal && automake)
+ (cd $@; autoreconf && automake)
endif
-.shout: libshout .theora .ogg .speex
+.shout: libshout .theora .ogg .speex .vorbis
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install )
$(INSTALL_NAME)
touch $@
flac: flac-$(FLAC_VERSION).tar.gz
$(EXTRACT_GZ)
ifdef HAVE_WIN32
- patch -p0 < Patches/flac-mingw32.patch
-endif
-ifneq ($(HOST),$(BUILD))
- (patch -p0 < Patches/flac-cross.patch && cd $@ && autoconf)
+ patch -p0 < Patches/flac-win32.patch
endif
+FLAC_DISABLE_FLAGS = --disable-oggtest --disable-xmms-plugin --disable-cpplibs
+
.flac: flac .ogg
ifdef HAVE_WIN32
- (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-oggtest && cd src&& make -C libFLAC&& make -C libFLAC install && cd .. && make -C include install)
+ (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(FLAC_DISABLE_FLAGS) && cd src&& make -C libFLAC&& make -C libFLAC install && cd .. && make -C include install)
else
ifdef HAVE_DARWIN_OS
ifdef HAVE_DARWIN_OS_ON_INTEL
- (cd $<; autoconf && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-asm-optimizations&& cd src && make -C libFLAC && make -C libFLAC install && cd .. && make -C include install)
+ (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-asm-optimizations && cd src && make -C libFLAC && make -C libFLAC install && cd .. && make -C include install)
else
- (cd $<; autoconf && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && cd src && make -C libFLAC && make -C libFLAC install && cd .. && make -C include install)
+ (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(FLAC_DISABLE_FLAGS) && cd src && make -C libFLAC && make -C libFLAC install && cd .. && make -C include install)
endif
else
- (cd $<; autoconf && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-oggtest && cd src && make -C libFLAC && make -C libFLAC install && cd .. && make -C include install)
+ (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(FLAC_DISABLE_FLAGS) && cd src && make -C libFLAC && make -C libFLAC install && cd .. && make -C include install)
endif
endif
$(INSTALL_NAME)
# (cd $@; patch -p1 < ../Patches/faad2.patch)
# (cd $@; sh ./bootstrap)
-faad2-$(FAAD2_VERSION).tar.bz2:
+faad2-$(FAAD2_VERSION).tar.gz:
$(WGET) $(FAAD2_URL)
-faad: faad2-$(FAAD2_VERSION).tar.bz2
- $(EXTRACT_BZ2)
- (cd $@; patch -p1 < ../Patches/faad2.patch && ./bootstrap)
+faad2: faad2-$(FAAD2_VERSION).tar.gz
+ $(EXTRACT_GZ)
+ (cd $@; ./bootstrap)
-.faad: faad
- (cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="-O3" && sed -i.orig "s/shrext_cmds/shrext/g" libtool && make -C libfaad && make -C libfaad install)
- $(INSTALL_NAME)
+.faad: faad2
+ (cd $< && $(HOSTCC) ./configure $(HOSTCONF) --disable-shared --prefix=$(PREFIX) CFLAGS="-O3" && sed -i.orig "s/shrext_cmds/shrext/g" libtool && make -C libfaad && make -C libfaad install)
touch $@
CLEAN_FILE += .faad
-CLEAN_PKG += faad
-DISTCLEAN_PKG += faad2-$(FAAD2_VERSION).tar.bz2
+CLEAN_PKG += faad2
+DISTCLEAN_PKG += faad2-$(FAAD2_VERSION).tar.gz
# ***************************************************************************
# faac
# ***************************************************************************
-faac-$(FAAC_VERSION).tar.bz2:
+faac-$(FAAC_VERSION).tar.gz:
$(WGET) $(FAAC_URL)
-faac: faac-$(FAAC_VERSION).tar.bz2
- $(EXTRACT_BZ2)
- patch -p0 < Patches/faac.patch
+faac: faac-$(FAAC_VERSION).tar.gz
+ $(EXTRACT_GZ)
.faac: faac
- (cd $<; rm -f install-sh mkinstalldirs missing && ./bootstrap && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install)
+ (cd $<; ./bootstrap && $(HOSTCC) ./configure $(HOSTCONF) --without-mp4v2 --prefix=$(PREFIX) --disable-shared && make && make install)
touch $@
CLEAN_FILE += .faac
CLEAN_PKG += faac
-DISTCLEAN_PKG += faac-$(FAAC_VERSION).tar.bz2
+DISTCLEAN_PKG += faac-$(FAAC_VERSION).tar.gz
# ***************************************************************************
# lame
lame: lame-$(LAME_VERSION).tar.gz
$(EXTRACT_GZ)
- rm -rf lame; mv lame-3.97 lame; touch lame
.lame: lame
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-analyser-hooks --disable-decoder --disable-shared --disable-gtktest --disable-frontend && make && make install)
libebml-$(LIBEBML_VERSION).tar.bz2:
$(WGET) $(LIBEBML_URL)
-ifdef SVN
-libebml:
- $(SVN) export http://svn.matroska.org/svn/matroska/trunk/libebml libebml
-else
+## No reasons to use SVN anymore
+#ifdef SVN
+#libebml:
+# $(SVN) export http://svn.matroska.org/svn/matroska/trunk/libebml libebml
+#else
libebml: libebml-$(LIBEBML_VERSION).tar.bz2
$(EXTRACT_BZ2)
-endif
+#endif
+
ifdef HAVE_WIN32
(cd $@; patch -p0 < ../Patches/libebml-svn-win32.patch)
endif
$(RANLIB) $(PREFIX)/lib/libebml.a
endif
touch $@
-
-ifdef SVN
-libebml-source: libebml
- cd libebml; find . -depth -iname ".svn" -exec rm -rf {} \;
- cd ..;
- tar cfvz libebml-$(DATE).tar.gz libebml
-SOURCE += libebml-source
-endif
+## No reasons to use SVN anymore
+#ifdef SVN
+#libebml-source: libebml
+# tar cfvz libebml-$(DATE).tar.gz libebml
+#SOURCE += libebml-source
+#endif
CLEAN_FILE += .ebml
CLEAN_PKG += libebml
libmatroska-$(LIBMATROSKA_VERSION).tar.bz2:
$(WGET) $(LIBMATROSKA_URL)
-ifdef SVN
-libmatroska:
- $(SVN) export http://svn.matroska.org/svn/matroska/trunk/libmatroska libmatroska
-else
+## No reasons to use SVN anymore
+#if SVN
+#libmatroska:
+# $(SVN) export http://svn.matroska.org/svn/matroska/trunk/libmatroska libmatroska
+#else
libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
$(EXTRACT_BZ2)
-endif
+#endif
+
ifdef HAVE_WIN32
(cd $@; patch -p0 < ../Patches/libmatroska-win32.patch)
endif
endif
touch $@
-ifdef SVN
-libmatroska-source: libmatroska
- cd libmatroska; find . -depth -iname ".svn" -exec rm -rf {} \;
- cd ..;
- tar cfvz libmatroska-$(DATE).tar.gz libmatroska
-
-SOURCE += libmatroska-source
-endif
-
+## No reasons to use SVN anymore
+#ifdef SVN
+#libmatroska-source: libmatroska
+# tar cfvz libmatroska-$(DATE).tar.gz libmatroska
+#
+#SOURCE += libmatroska-source
+#endif
CLEAN_FILE += .matroska
CLEAN_PKG += libmatroska
DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
# ***************************************************************************
+# libamrnb
+# ***************************************************************************
+
+amrnb-$(LIBAMR_NB_VERSION).tar.bz2:
+ $(WGET) $(LIBAMR_NB)
+
+libamrnb: amrnb-$(LIBAMR_NB_VERSION).tar.bz2
+ $(EXTRACT_BZ2)
+
+.libamrnb: libamrnb
+ (cd $<; $(HOSTCC) ./configure --prefix=$(PREFIX) --enable-shared && make && make install)
+ touch $@
+
+CLEAN_FILE += .libamrnb
+CLEAN_PKG += libamrnb
+DISTCLEAN_PKG += amrnb-$(LIBAMR_NB_VERSION).tar.bz2
+
+# ***************************************************************************
+# libamrwb
+# ***************************************************************************
+
+amrwb-$(LIBAMR_WB_VERSION).tar.bz2:
+ $(WGET) $(LIBAMR_WB)
+
+libamrwb: amrwb-$(LIBAMR_WB_VERSION).tar.bz2
+ $(EXTRACT_BZ2)
+
+.libamrwb: libamrwb
+ (cd $<; $(HOSTCC) ./configure --prefix=$(PREFIX) --enable-shared && make && make install)
+ touch $@
+
+
+CLEAN_FILE += .libamrwb
+CLEAN_PKG += libamrwb
+DISTCLEAN_PKG += amrwb-$(LIBAMR_WB_VERSION).bz2
+
+# ***************************************************************************
+
# ffmpeg
# ***************************************************************************
+ifdef SVN
ffmpeg:
$(SVN) export $(FFMPEG_SVN) ffmpeg
(cd "$@" && patch -p0 < ../Patches/ffmpeg-svn-swscale-pc.patch)
ifdef HAVE_BEOS
(cd $@; patch -p0 < ../Patches/ffmpeg-alignment.patch)
endif
+ifdef HAVE_DARWIN_OS
+ (cd $@; patch -p0 < ../Patches/ffmpeg-macosx-intel-mmx.patch)
+endif
ifdef HAVE_UCLIBC
patch -p0 < Patches/ffmpeg-svn-uclibc.patch
patch -p0 < Patches/ffmpeg-svn-internal-define.patch
patch -p0 < Patches/ffmpeg-svn-grab.patch
endif
+else
ffmpeg-$(FFMPEG_VERSION).tar.gz:
+ echo "ffmpeg snapshot is too old, you MUST use subversion !"
+ exit -1
$(WGET) $(FFMPEG_URL)
-#ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz
-# $(EXTRACT_GZ)
-# patch -p0 < Patches/ffmpeg.patch
+ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz
+ $(EXTRACT_GZ)
+endif
ifdef HAVE_WINCE
.ffmpeg: ffmpeg .zlib
.ffmpeg: ffmpeg .faac .lame
endif
endif
- (cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) $(FFMPEG_CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-pp --disable-vhook --disable-ffserver --disable-ffmpeg --disable-network --disable-ffplay && make && make install-libs install-headers)
+ (cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) $(FFMPEG_CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-pp --disable-vhook --disable-ffserver --disable-ffmpeg --disable-ffplay && make && make install-libs install-headers)
touch $@
ifdef SVN
ffmpeg-source: ffmpeg
- cd ffmpeg; find . -depth -iname ".svn" -exec rm -rf {} \;
- cd ..;
tar cfvz ffmpeg-$(DATE).tar.gz ffmpeg
SOURCE += ffmpeg-source
ifdef SVN
libdvdcss-source: libdvdcss
- cd libmatroska; find . -depth -iname ".svn" -exec rm -rf {} \;
- cd ..;
tar cfvz libdvdcss-$(DATE).tar.gz libdvdcss
SOURCE += libdvdcss-source
endif
-
CLEAN_FILE += .dvdcss
CLEAN_PKG += libdvdcss
DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.gz
-# ***************************************************************************
-# libdvdread: We use dvdnav's dvdread
-# ***************************************************************************
-
-#libdvdread-$(LIBDVDREAD_VERSION).tar.bz2:
-# $(WGET) $(LIBDVDREAD_URL)
-
-#libdvdread: libdvdread-$(LIBDVDREAD_VERSION).tar.bz2
-# $(EXTRACT_BZ2)
-# patch -p 0 < Patches/libdvdread.patch
-#ifdef HAVE_WIN32
-# if automake-1.4 --version >/dev/null 2>&1; then \
-# echo "Please get rid of your automake 1.4"; \
-# rm -rf $@ \
-# exit 1; \
-# fi
-# (cd libdvdread; patch -p0 < ../Patches/libdvdread-20041028-win32.patch; ./bootstrap)
-#endif
-
-#.dvdread: libdvdread .dvdcss
-# (cd libdvdread; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install)
-# $(INSTALL_NAME)
-# touch $@
-
-#CLEAN_FILE += .dvdread
-#CLEAN_PKG += libdvdread
-#DISTCLEAN_PKG += libdvdread-$(LIBDVDREAD_VERSION).tar.bz2
-
# ***************************************************************************
# dummy dvdread to trigger the INSTALL_NAME script
# ***************************************************************************
.dvdread: .dvdnav
$(INSTALL_NAME)
- (install_name_tool -change $(PREFIX)/lib/libdvdread.0.dylib @executable_path/lib/vlc_libdvdread.dylib $(PREFIX)/vlc-lib/vlc_libdvdnav.dylib)
+ifdef HAVE_DARWIN_OS
+ install_name_tool -change $(PREFIX)/lib/libdvdread.4.dylib @executable_path/lib/vlc_libdvdread.dylib $(PREFIX)/vlc-lib/vlc_libdvdnav.dylib
+endif
touch $@
CLEAN_FILE += .dvdread
# libdvdnav
# ***************************************************************************
+ifdef SVN
+libdvdnav:
+ $(SVN) export $(LIBDVDNAV_SVN) libdvdnav
+ patch -p0 < Patches/libdvdnav.patch
+ (cd $@; ./autogen.sh noconfig)
+else
libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2:
$(WGET) $(LIBDVDNAV_URL)
libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2
$(EXTRACT_BZ2)
- patch -p0 < Patches/dvdnav.patch
- patch -p0 < Patches/libdvdnav-mactel.patch
+ patch -p0 < Patches/libdvdnav.patch
(cd $@; ./autogen.sh noconfig)
+endif
.dvdnav: libdvdnav .dvdcss
ifdef HAVE_WIN32
- (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS) -Dssize_t=long" && make && make install)
+ (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install)
else
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install)
endif
# libdvbpsi
# ***************************************************************************
-libdvbpsi4-$(LIBDVBPSI_VERSION).tar.gz:
+libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz:
$(WGET) $(LIBDVBPSI_URL)
-libdvbpsi: libdvbpsi4-$(LIBDVBPSI_VERSION).tar.gz
+libdvbpsi: libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz
$(EXTRACT_GZ)
.dvbpsi: libdvbpsi
CLEAN_FILE += .dvbpsi
CLEAN_PKG += libdvbpsi
-DISTCLEAN_PKG += libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz
+DISTCLEAN_PKG += libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz
# ***************************************************************************
# live
patch -p0 < Patches/live-osx.patch
endif
patch -p0 < Patches/live-starttime.patch
- patch -p0 < Patches/live-config.patch
+ (cd live/liveMedia/include; \
+ mv liveMedia_version.hh liveMedia_version.hh.bak; \
+ sed -e 's/.*LIVEMEDIA_LIBRARY_VERSION_INT.*/#define LIVEMEDIA_LIBRARY_VERSION_INT 9999999999/' liveMedia_version.hh.bak > liveMedia_version.hh )
+ patch -Np0 < Patches/live-config.patch
ifdef HAVE_UCLIBC
patch -p0 < Patches/live-noapps.patch
endif
ifdef HAVE_WIN32
(cd $@; dos2unix configure.in)
patch -p0 < Patches/goom2k4-0-win32.patch
-else
- patch -p0 < Patches/goom2k4-0-mmx.patch
endif
+ patch -p0 < Patches/goom2k4-0-mmx.patch
.goom2k4: goom
ifdef HAVE_DARWIN_OS
(cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
else
- (cd $< && rm -f configure; autoconf configure.in > configure && $(HOSTCC) sh ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static --disable-glibtest --disable-gtktest && make && make install)
+ (cd $< && rm -f configure; aclocal -I m4/ && automake --add-missing && autoconf configure.in > configure && $(HOSTCC) sh ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static --disable-glibtest --disable-gtktest && make && make install)
endif
touch $@
.dca: libdca
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
+ $(INSTALL_NAME)
touch $@
CLEAN_FILE += .dca
x264: x264-$(X264_VERSION).tar.gz
$(EXTRACT_GZ)
ifdef HAVE_WIN32
+ ifndef HAVE_CYGWIN
(cd x264;patch -p0 <../Patches/x264-20050624-win32.patch)
+ endif
else
patch -p0 < Patches/x264.patch
rm x264/x264.c
ifdef HAVE_WIN32
.x264: x264 .pthreads
- (cd $<; ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install)
+ ifdef HAVE_CYGWIN
+ (cd $<; $(HOSTCC) RANLIB="ranlib" AR="ar" STRIP="strip" ./configure $(X264CONF) --prefix="$(PREFIX)" --extra-cflags="-I$(PREFIX)/include" --extra-ldflags="-L$(PREFIX)/lib" && make && make install)
+ else
+ (cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install)
+ endif
else
.x264: x264
- (cd $<; ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install)
+ (cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install)
endif
touch $@
ifdef SVN
x264-source: x264
- cd x264; find . -depth -iname ".svn" -exec rm -rf {} \;
- cd ..;
tar cfvz x264-$(DATE).tar.gz x264
SOURCE += x264-source
CLEAN_PKG += libcdio
DISTCLEAN_PKG += libcdio-$(CDIO_VERSION).tar.gz
-# ***************************************************************************
-# OpenMash
-# ***************************************************************************
-#
-#mash-src-$(MASH_VERSION).tar.gz:
-# $(WGET) $(MASH_URL)
-#
-#mash-code: mash-src-$(MASH_VERSION).tar.gz
-# $(EXTRACT_GZ)
-#
-#.mash: mash-code
-# (cd $<; ./configure && make)
-# touch $@
-#
-#CLEAN_FILE += .mash
-#CLEAN_PKG += mash-code
-#DISTCLEAN_PKG += mash-src-$(MASH_VERSION).tar.gz
-
# ***************************************************************************
# wxWidgets
# ***************************************************************************
qt4: qt4-$(QT4_VERSION)-win32-bin.tar.gz
$(EXTRACT_GZ)
-
.qt4: qt4
(cd qt4;mkdir -p $(PREFIX)/bin; mkdir -p $(PREFIX)/include;mkdir -p $(PREFIX)/lib/pkgconfig;rm -f $(PREFIX)/lib/pkgconfig/Qt*; sed 's,@@PREFIX@@,$(PREFIX),' lib/pkgconfig/QtCore.pc.in > $(PREFIX)/lib/pkgconfig/QtCore.pc;sed 's,@@PREFIX@@,$(PREFIX),' lib/pkgconfig/QtGui.pc.in > $(PREFIX)/lib/pkgconfig/QtGui.pc;cp -r include/* $(PREFIX)/include;cp lib/*a $(PREFIX)/lib)
ifeq ($(BUILD),i686-pc-cygwin)
CLEAN_FILE += .qt4
CLEAN_PKG += qt4
-#DISTCLEAN_PKG += qt4-$(QT4_VERSION).tar.gz
+DISTCLEAN_PKG += qt4-$(QT4_VERSION)-win32-bin.tar.gz
# ***************************************************************************
# zlib
CLEAN_PKG += zlib
DISTCLEAN_PKG += zlib-$(ZLIB_VERSION).tar.gz
-
# ***************************************************************************
# PortAudio
# ***************************************************************************
CLEAN_PKG += portaudio
DISTCLEAN_PKG += pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz
-
# ***************************************************************************
# xml
# ***************************************************************************
endif
.xml: xml
+ifdef HAVE_WIN32
+ (cd xml; aclocal && automake && autoreconf)
+endif
+ ifdef HAVE_CYGWIN
+ (cd xml; ac_cv_header_pthread_h="no" CFLAGS="-DLIBXML_STATIC" $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-minimal --with-catalog --with-reader --with-tree --with-push --with-xptr --with-valid --with-xpath --with-xinclude --with-sax1 --without-zlib --without-iconv --without-http --without-ftp && make && make install)
+ else
(cd xml; CFLAGS="-DLIBXML_STATIC" $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-minimal --with-catalog --with-reader --with-tree --with-push --with-xptr --with-valid --with-xpath --with-xinclude --with-sax1 --without-zlib --without-iconv --without-http --without-ftp && make && make install)
+ endif
ifndef HAVE_DARWIN_OS
$(INSTALL_NAME)
endif
CLEAN_PKG += xml
DISTCLEAN_PKG += libxml2-$(XML_VERSION).tar.gz
-
# ***************************************************************************
# twolame
# ***************************************************************************
else
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
endif
+endif
endif
$(INSTALL_NAME)
-endif
touch $@
CLEAN_FILE += .png
zvbi: zvbi-$(ZVBI_VERSION).tar.bz2
$(EXTRACT_BZ2)
+ifdef HAVE_WIN32
+.zvbi: zvbi .pthreads
+else
.zvbi: zvbi
+endif
+ifdef HAVE_DARWIN_OS
(cd $<; ./configure --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -fnested-functions" && make && make install)
+else
+ (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" && make && make install)
+endif
+ $(INSTALL_NAME)
touch $@
CLEAN_FILE += .zvbi
DISTCLEAN_PKG += zvbi-$(ZVBI_VERSION).tar.bz2
# ***************************************************************************
-# gpg-error
-# ***************************************************************************
-
# libraw1394
# ***************************************************************************
# sed 's/^typedef u_int8_t byte_t;/\/* typedef u_int8_t byte_t;\*\//'
touch $@
-CLEAN_file += .raw1394
+CLEAN_FILE += .raw1394
CLEAN_PKG += libraw1394
DISTCLEAN_PKG += libraw1394-$(LIBRAW1394_VERSION).tar.gz
make && make DESTDIR=$(PRFIX) install)
touch $@
-CLEAN_file += .dc1394
+CLEAN_FILE += .dc1394
CLEAN_PKG += libdc1394
DISTCLEAN_PKG += libdc1394-$(LIBDC1394_VERSION).tar.gz
# ***************************************************************************
+# gpg-error
+# ***************************************************************************
+
libgpg-error-$(GPGERROR_VERSION).tar.bz2:
$(WGET) $(GPGERROR_URL)
libgpg-error: libgpg-error-$(GPGERROR_VERSION).tar.bz2
$(EXTRACT_BZ2)
-ifdef HAVE_WIN32
- patch -p0 < Patches/libgpg-error-win32.patch
-endif
.gpg-error: libgpg-error
ifdef HAVE_DARWIN_OS_ON_INTEL
DISTCLEAN_PKG += gecko-sdk-i586-pc-msvc-1.8b1.zip libIDL-0.6.3-win32-bin.zip glib-19990228.zip
# ***************************************************************************
-# mozilla
+# mozilla-macosx
# ***************************************************************************
mozilla-source-$(MOZILLA_VERSION).tar.bz2:
mozilla: mozilla-source-$(MOZILLA_VERSION).tar.bz2
$(EXTRACT_BZ2)
-.mozilla: mozilla
+.mozilla-macosx: mozilla-macosx
(cd $<; ./configure --prefix=$(PREFIX) --enable-default-toolkit=mac --enable-standalone-modules=xpcom,plugin && make && make install)
touch $@
-CLEAN_FILE += .mozilla
-CLEAN_PKG += mozilla
+CLEAN_FILE += .mozilla-macosx
+CLEAN_PKG += mozilla-macosx
DISTCLEAN_PKG += mozilla-source-$(MOZILLA_VERSION).tar.bz2
# ***************************************************************************
mpcdec: libmpcdec-$(MUSE_VERSION).tar.bz2
$(EXTRACT_BZ2)
patch -p0 < Patches/mpcdec.patch
- (cd $@; autoreconf -vif)
+ (cd $@; autoreconf)
.mpcdec: mpcdec
ifdef HAVE_WIN32
dirac: dirac-$(DIRAC_VERSION).tar.gz
$(EXTRACT_GZ)
-ifdef HAVE_DARWIN_OS
-# patch -p0 <Patches/dirac-osx.patch
- echo ""
-else
patch -p0 <Patches/dirac-cross.patch
- (cd $@; aclocal && autoconf && automake)
+ifdef HAVE_CYGWIN
+ # incorrect compile warning with cygwin compiler 3.4.4
+ patch -p0 <Patches/dirac-cygwin.patch
endif
+ (cd $@; aclocal && autoconf && automake)
DIRAC_SUBDIRS = libdirac_byteio libdirac_common libdirac_motionest libdirac_encoder libdirac_decoder
taglib: taglib-$(TAGLIB_VERSION).tar.gz
$(EXTRACT_GZ)
+ifdef HAVE_CYGWIN
+ patch -p0 <Patches/taglib-cygwin.patch
+endif
.tag: taglib
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME)
touch $@
+CLEAN_FILE += .tag
+CLEAN_PKG += taglib
+DISTCLEAN_PKG += taglib-$(TAGLIB_VERSION).tar.gz
+
+# ***************************************************************************
+# pthreads for win32
+# ***************************************************************************
pthreads-w32-$(PTHREADS_VERSION)-release.tar.gz:
$(WGET) $(PTHREADS_URL)
$(EXTRACT_GZ)
.pthreads: pthreads
- (cd $<; $(HOSTCC) make $(PTHREADSCONF) GC-inlined; cp pthread.h ../../include/; cp *.dll *.a ../../lib/)
+ (cd $<; $(HOSTCC) make $(PTHREADSCONF) GC-static && cp -v pthread.h sched.h semaphore.h $(PREFIX)/include/ && cp -v *.a $(PREFIX)/lib/)
$(INSTALL_NAME)
touch $@
+CLEAN_FILE += .pthreads
+CLEAN_PKG += pthreads
+DISTCLEAN_PKG += pthreads-w32-$(PTHREADS_VERSION)-release.tar.gz
+# ***************************************************************************
+# ncurses library (with wide chars support)
+# ***************************************************************************
+
+ncurses-$(NCURSES_VERSION).tar.gz:
+ $(WGET) $(NCURSES_URL)
+
+ncurses: ncurses-$(NCURSES_VERSION).tar.gz
+ $(EXTRACT_GZ)
+
+.ncurses: ncurses
+ (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --without-debug --enable-widec --without-develop --without-shared && make && make install)
+ touch $@
+
+CLEAN_FILE += .ncurses
+CLEAN_PKG += ncurses
+DISTCLEAN_PKG += ncurses-$(NCURSES_VERSION).tar.gz
# ***************************************************************************
-# Some cleansing
+# Some cleaning
# ***************************************************************************
clean-dots: FORCE
rm -rf $(DISTCLEAN_PKG)
clean-svn:
- rm -rf ffmpeg tremor libebml libmatroska x264 libdca
+ rm -rf ffmpeg tremor x264 libdca
distclean: clean-src
+# ***************************************************************************
+# Download all the sources and package unversionned copies of subversion trees
+# ***************************************************************************
+
source: $(SOURCE) $(DISTCLEAN_PKG)