X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=extras%2Fcontrib%2Fsrc%2FMakefile;h=28c673d247873f5f6f6456a8c93fba89e3c58cb6;hb=510590073210cfe845a758a69cf2e23b45fae44c;hp=e57ec7371417236795bc1b1755fc09b0395bcf4c;hpb=99938a0c641e91874d70eb64af6aa9aba280c044;p=vlc diff --git a/extras/contrib/src/Makefile b/extras/contrib/src/Makefile index e57ec73714..28c673d247 100644 --- a/extras/contrib/src/Makefile +++ b/extras/contrib/src/Makefile @@ -1,13 +1,15 @@ # *************************************************************************** # src/Makefile : Dearchive and compile all files necessary # *************************************************************************** -# Copyright (C) 2003, 2004, 2005 the VideoLAN team +# Copyright (C) 2003 - 2006 the VideoLAN team # $Id$ # # Authors: Christophe Massiot # Derk-Jan Hartman # Eric Petit -# Felix Kühne +# Felix Kühne +# Christophe Mutricy +# Gildas Bazin # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -21,7 +23,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. # *************************************************************************** include ../config.mak @@ -31,29 +33,11 @@ include ./packages.mak # Set a clean environment # *************************************************************************** -ifeq ($(HOST),ppc-darwin) -HAVE_DARWIN_OS=1 -endif -ifeq ($(HOST),powerpc-apple-darwin8) -HAVE_DARWIN_OS=1 -endif - -ifdef HAVE_DARWIN_OS -export PATH = $(PREFIX)/bin:/bin:/usr/bin +export PATH := $(PREFIX)/bin:$(EXTRA_PATH):$(PATH) +export PKG_CONFIG_PATH export DYLD_LIBRARY_PATH = $(PREFIX)/lib -endif - -ifeq ($(HOST),i586-pc-beos) -ifeq ($(HOST),$(BUILD)) -# Compiling on BeOS -export PATH = $(PREFIX)/bin:.:/boot/home/config/bin:/bin:/boot/apps:/boot/preferences:/boot/beos/apps:/boot/beos/preferences:/boot/develop/tools/gnupro/bin -export LIBRARY_PATH = $(PREFIX)/lib:%A/lib:/boot/home/config/lib:/boot/beos/system/lib -else -# Cross compiling from Linux -export PATH = $(PREFIX)/bin:/opt/beos-tools/bin:/opt/cross-tools/bin:/usr/bin:/bin -endif -endif - +export MACOSX_DEPLOYMENT_TARGET = $(SDK_TARGET) +export LIBRARY_PATH := $(PREFIX)/lib:$(LIBRARY_PATH) export CFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS) export CPPFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS) export CXXFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS) @@ -66,20 +50,66 @@ export LDFLAGS = -L$(PREFIX)/lib $(EXTRA_LDFLAGS) # way of doing it... ;) # *************************************************************************** +ifneq ($(CC),) +HOSTCC+= CC="$(CC)" +endif +ifneq ($(CXX),) +HOSTCC+= CXX="$(CXX)" +endif +ifneq ($(LD),) +HOSTCC+= LD="$(LD)" +endif +ifneq ($(RANLIB),) +HOSTCC+= RANLIB="$(RANLIB)" +endif +ifneq ($(AR),) +HOSTCC+= AR="$(AR)" +endif + +# Define ranlib on non-cross compilation setups +ifeq ($(RANLIB),) +RANLIB=ranlib +endif + +# For libebml/libmatroska. Grrr. +ifneq ($(AR),) +HOSTCC2=$(HOSTCC) AR="$(AR) rcvu" +else +HOSTCC2=$(HOSTCC) +endif + ifneq ($(BUILD),$(HOST)) # We are cross compiling -HOSTCONF=--host=$(HOST) -HOSTCC=CC=$(HOST)-gcc CXX=$(HOST)-g++ AR=$(HOST)-ar RANLIB=$(HOST)-ranlib -# For libebml/libmatroska. Grrr. -HOSTCC2=CC=$(HOST)-gcc CXX=$(HOST)-g++ "AR=$(HOST)-ar rcvu" RANLIB=$(HOST)-ranlib +HOSTCONF=--host=$(HOST) --build=$(BUILD) FFMPEGCONF=--cross-prefix=$(HOST)- -RANLIB=$(HOST)-ranlib +X264CONF=--crosscompile=$(HOST) else -# Building natively -RANLIB=ranlib + ifneq ($(CC),) + FFMPEGCONF=--cc="$(CC)" + endif endif -ifeq ($(HOST),i586-pc-beos) -FFMPEGCONF+=--cpu=x86 + +# +# Special target-dependant options +# +ifdef HAVE_WIN32 +HOSTCONF+= --without-pic --disable-shared --enable-msw --with-included-opencdk --with-included-libtasn1 --disable-depedency-tracking +FFMPEGCONF+= --enable-mingw32 --enable-memalign-hack --cpu=x86 --disable-debug +endif + +ifdef HAVE_WINCE +HOSTCONF+= --without-pic --disable-shared +FFMPEGCONF+= --enable-mingwce --cpu=armv4l --disable-debug --disable-encoders --disable-muxers --disable-mpegaudio-hp --disable-decoder=snow --disable-decoder=vc9 --disable-decoder=wmv3 --disable-decoder=vorbis --disable-decoder=dvdsub --disable-decoder=dvbsub --disable-protocols +else +FFMPEGCONF+= --enable-mp3lame --enable-faac +endif + +ifdef HAVE_BEOS +FFMPEGCONF+= --cpu=x86 +endif + +ifeq ($(HOST),i686-apple-darwin8) +FFMPEGCONF += --enable-memalign-hack endif # *************************************************************************** @@ -87,36 +117,65 @@ endif # *************************************************************************** ifdef HAVE_DARWIN_OS - all: .autoconf .automake .libtool .iconv .intl .pkgcfg .freetype .fribidi \ - .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .x264 .theora \ - .FLAC .speex .shout .faad .faac .lame .twolame .ebml .matroska .ffmpeg .openslp \ - .dvdcss .dvdread .dvdnav .dvbpsi .live .goom2k4 .caca .mod \ + all: .autoconf .automake .libtool .intl .pkgcfg .freetype .fribidi \ + .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \ + .FLAC .speex .shout .faad .faac .lame .twolame .ebml .matroska .ffmpeg \ + .dvdcss .dvdnav .dvdread .dvbpsi .live .x264 .caca .mod \ .png .gpg-error .gcrypt .gnutls .opendaap .cddb .cdio .vcdimager .SDL_image \ - .glib .libidl .gecko .aclocal + .glib .libidl .gecko .mpcdec .expat .clinkcc .aclocal +# .FLAC .expat .clinkcc don't work with SDK yet +# .glib .libidl .gecko are required to build the mozilla plugin # .mozilla will build an entire mozilla. it can be used if we need to create a new .gecko package +ifneq ($(HOST),i686-apple-darwin8) +all: .goom2k4 +endif else - ifeq ($(HOST),i586-pc-beos) + ifdef HAVE_BEOS ifeq ($(HOST),$(BUILD)) # Native build: we need perl, autoconf, etc first all: .perl .autoconf .automake .libtool .iconv .intl .freetype .fribidi \ .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \ .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .dvdcss \ - .dvdread .dvdnav .dvbpsi .aclocal + .dvdnav .dvbpsi .aclocal else # Cross compiling: we already have the Linux tools, only build the # libraries now all: .iconv .intl .freetype .fribidi \ .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \ .FLAC .speex .faad .faac .lame .twolame .ebml .matroska .ffmpeg .dvdcss \ - .dvdread .dvdnav .dvbpsi .aclocal + .dvdnav .dvbpsi .aclocal endif else + + ifdef HAVE_WIN32 + + all: .iconv .intl .freetype .fribidi .zlib \ + .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \ + .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .dvdcss \ + .live .goom2k4 .caca .mod .x264 .xml .twolame \ + .png .gpg-error .gcrypt .gnutls .mpcdec \ + .gnutls .dvdnav .dvbpsi .wxwidgets .dirac \ + .dx_headers .dshow_headers .aclocal .gecko-win32 +# .SDL_image .daap .cddb .cdio .vcdimager .dts .portaudio + else + + ifdef HAVE_WINCE + + all: .dvbpsi .zlib .ffmpeg .ogg .tremor .faad + else + # Standard Linux or other UNIX-like systems - all: .iconv .intl .freetype .fribidi \ - .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .x264 .theora \ - .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .dvdcss \ - .dvdread .dvdnav .dvbpsi .live .aclocal + all: .iconv .intl .freetype .fribidi .zlib \ + .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \ + .FLAC .speex .faad .faac .lame .ebml .dts .matroska .ffmpeg .dvdcss \ + .live .goom2k4 .caca .mod .x264 .xml .twolame\ + .png .gpg-error .gcrypt .gnutls .mpcdec\ + .gnutls .dvdnav .dvbpsi .wxwidgets .dirac \ + .aclocal +# .SDL_image .daap .cddb .cdio .vcdimager + endif + endif endif endif @@ -231,6 +290,7 @@ DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.gz 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 \ @@ -284,6 +344,7 @@ pkgconfig-$(PKGCFG_VERSION).tar.gz: pkgconfig: pkgconfig-$(PKGCFG_VERSION).tar.gz $(EXTRACT_GZ) + patch -d pkgconfig/glib-1.2.8 -p 1 < Patches/glib.patch .pkgcfg: pkgconfig (cd pkgconfig; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install) @@ -302,10 +363,13 @@ gettext-$(GETTEXT_VERSION).tar.gz: gettext: gettext-$(GETTEXT_VERSION).tar.gz $(EXTRACT_GZ) - patch -p 0 < Patches/gettext.patch .intl: gettext .iconv - ( cd $< && ./configure $(HOSTCONF) --prefix=$(PREFIX) ) +ifdef HAVE_WIN32 + ( cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-relocatable --with-iconv-prefix=$(PREFIX)) +else + ( cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) ) +endif ifeq ($(BUILD),i586-pc-beos) # The ugliest kludge ever - so libtool correctly links shared libraries # on BeOS. Sorry, I just can't figure out how libtool works @@ -317,6 +381,10 @@ ifneq ($(HOST),$(BUILD)) else # Build and install the whole gettext ( cd $< && make && make install ) +endif +# Work around another non-sense of autoconf. +ifdef HAVE_WIN32 + (cd ../include; sed -i.bak '283 c #if !1' libintl.h) endif $(INSTALL_NAME) touch $@ @@ -334,12 +402,20 @@ libiconv-$(LIBICONV_VERSION).tar.gz: libiconv: libiconv-$(LIBICONV_VERSION).tar.gz $(EXTRACT_GZ) +ifdef HAVE_DARWIN_OS patch -p 0 < Patches/libiconv.patch +endif +ifdef HAVE_DARWIN_OS .iconv: libiconv - (cd libiconv; ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-nls && make && make install) + touch $@ + (cd libiconv; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-nls && make && make install) +else +.iconv: libiconv + (cd libiconv; CPPFLAGS="-Dssize_t=long" $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-nls && make && make install) $(INSTALL_NAME) touch $@ +endif CLEAN_FILE += .iconv CLEAN_PKG += libiconv @@ -356,7 +432,7 @@ freetype2: freetype-$(FREETYPE2_VERSION).tar.gz $(EXTRACT_GZ) .freetype: freetype2 - (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) $(INSTALL_NAME) touch $@ @@ -374,9 +450,11 @@ fribidi-$(FRIBIDI_VERSION).tar.gz: fribidi: fribidi-$(FRIBIDI_VERSION).tar.gz $(EXTRACT_GZ) patch -p 0 < Patches/fribidi.patch.real - -.fribidi: fribidi - (cd $<; ./bootstrap && ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) +ifdef HAVE_WIN32 + patch -p 0 " > ogg.h && rm -f os_types.h && echo "#include " > os_types.h && ./autogen.sh) +else +tremor-$(TREMOR_VERSION).tar.bz2: + $(WGET) $(TREMOR_URL) + +tremor: tremor-$(TREMOR_VERSION).tar.bz2 + $(EXTRACT_BZ2) +endif + +.tremor: tremor .ogg + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install) + $(INSTALL_NAME) + touch $@ + +CLEAN_FILE += .tremor +CLEAN_PKG += tremor +DISTCLEAN_PKG += tremor-$(TREMOR_VERSION).tar.gz + # *************************************************************************** # theora # *************************************************************************** @@ -539,9 +650,10 @@ libtheora-$(THEORA_VERSION).tar.bz2: libtheora: libtheora-$(THEORA_VERSION).tar.bz2 $(EXTRACT_BZ2) patch -p0 < Patches/theora.patch + (cd $@; autoconf) .theora: libtheora .ogg - (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-sdltest --disable-oggtest --disable-vorbistest && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-sdltest --disable-oggtest --disable-vorbistest && make && make install) $(INSTALL_NAME) touch $@ @@ -560,7 +672,7 @@ libshout: libshout-$(SHOUT_VERSION).tar.gz $(EXTRACT_GZ) .shout: libshout .theora .ogg - (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) $(INSTALL_NAME) touch $@ @@ -577,9 +689,19 @@ flac-$(FLAC_VERSION).tar.gz: flac: flac-$(FLAC_VERSION).tar.gz $(EXTRACT_GZ) +ifdef HAVE_DARWIN_OS + patch -p 0 < Patches/flac-mactel.patch +endif +ifneq ($(HOST),$(BUILD)) + (patch -p 0 < Patches/flac-cross.patch && cd $@ && autoconf) +endif -.FLAC: flac - (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) +.FLAC: flac +ifdef HAVE_WIN32 + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-oggtest --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) --disable-oggtest && cd src&& make -C libFLAC&& make -C libFLAC install && cd .. && make -C include install) +endif $(INSTALL_NAME) touch $@ @@ -599,7 +721,7 @@ speex: speex-$(SPEEX_VERSION).tar.gz patch -p0 < Patches/speex.patch .speex: speex - (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-ogg=no && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-ogg=no && make && make install) $(INSTALL_NAME) touch $@ @@ -623,10 +745,13 @@ faad2-$(FAAD2_VERSION).tar.bz2: faad2: faad2-$(FAAD2_VERSION).tar.bz2 $(EXTRACT_BZ2) + (cd $@; patch -p 0 < ../Patches/faad2.patch && ./bootstrap) .faad: faad2 - (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="-O3" && make -C libfaad && make -C libfaad install) + (cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="-O3" && make -C libfaad && make -C libfaad install) +ifndef HAVE_DARWIN_OS $(INSTALL_NAME) +endif touch $@ CLEAN_FILE += .faad @@ -645,7 +770,7 @@ faac: faac-$(FAAC_VERSION).tar.bz2 patch -p 0 < Patches/faac.patch .faac: faac - (cd $<; rm -f install-sh mkinstalldirs missing && ./bootstrap && ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install) + (cd $<; rm -f install-sh mkinstalldirs missing && ./bootstrap && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install) touch $@ CLEAN_FILE += .faac @@ -663,7 +788,7 @@ lame: lame-$(LAME_VERSION).tar.gz $(EXTRACT_GZ) .lame: lame - (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-analyser-hooks --disable-decoder --disable-shared --disable-gtktest --disable-frontend && make && make install) touch $@ CLEAN_FILE += .lame @@ -675,7 +800,7 @@ DISTCLEAN_PKG += lame-$(LAME_VERSION).tar.gz # *************************************************************************** ifdef SVN -libebml: +libebml: $(SVN) co http://svn.matroska.org/svn/matroska/trunk/libebml libebml else libebml-$(LIBEBML_VERSION).tar.bz2: @@ -684,10 +809,17 @@ libebml-$(LIBEBML_VERSION).tar.bz2: libebml: libebml-$(LIBEBML_VERSION).tar.bz2 $(EXTRACT_BZ2) endif +ifdef HAVE_WIN32 + (cd $@; patch -p 0 < ../Patches/libebml-svn-win32.patch) +endif .ebml: libebml +ifdef HAVE_WIN32 + (cd $<; make -C make/mingw32 prefix=$(PREFIX) $(HOSTCC2) CFLAGS="$(CFLAGS) -DWIN32" SHARED=no && make -C make/linux install_staticlib install_headers prefix=$(PREFIX) $(HOSTCC2)) +else (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC2) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX)) $(RANLIB) $(PREFIX)/lib/libebml.a +endif touch $@ CLEAN_FILE += .ebml @@ -708,10 +840,17 @@ libmatroska-$(LIBMATROSKA_VERSION).tar.bz2: libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.bz2 $(EXTRACT_BZ2) endif +ifdef HAVE_WIN32 + (cd $@; patch -p 0 < ../Patches/libmatroska-win32.patch) +endif -.matroska: libmatroska +.matroska: libmatroska .ebml +ifdef HAVE_WIN32 + (cd $<; make -C make/mingw32 prefix=$(PREFIX) $(HOSTCC2) SHARED=no EBML_DLL=no libmatroska.a && make -C make/linux install_staticlib install_headers prefix=$(PREFIX) $(HOSTCC2)) +else (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC2) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX)) $(RANLIB) $(PREFIX)/lib/libmatroska.a +endif touch $@ CLEAN_FILE += .matroska @@ -725,8 +864,18 @@ DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2 ffmpeg: echo $(FFMPEG_CVSROOT) A > ./ffmpeg.cvs CVS_PASSFILE=./ffmpeg.cvs cvs -z3 -d $(FFMPEG_CVSROOT) co ffmpeg - patch -p 0 < Patches/ffmpeg.patch.cvs -# (cd $@; ./bootstrap) +ifeq ($(HOST),i586-pc-beos) + (cd $@; patch -p 0 < ../Patches/ffmpeg-cvs-beos.patch) +endif +ifdef HAVE_WIN32 + patch -p 0 < Patches/ffmpeg-cvs-win32.patch +endif +ifdef HAVE_WINCE + patch -p 1 < Patches/ffmpeg-cvs-wince.patch +endif +ifeq ($(HOST),i686-apple-darwin8) + (cd $@;patch -p 0 < ../Patches/ffmpeg-cvs-mactel.patch) +endif ffmpeg-$(FFMPEG_VERSION).tar.gz: $(WGET) $(FFMPEG_URL) @@ -735,33 +884,18 @@ ffmpeg-$(FFMPEG_VERSION).tar.gz: # $(EXTRACT_GZ) # patch -p 0 < Patches/ffmpeg.patch -.ffmpeg: ffmpeg - (cd $<; ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-mp3lame --enable-faac --enable-pp --disable-vhook --disable-audio-beos --disable-ffserver --enable-mp3lame --enable-a52 --disable-ffplay && make && make -C libavcodec/libpostproc install && make -C libavcodec installlib && make -C libavformat installlib && make -C libavutil installlib) +ifdef HAVE_WINCE +.ffmpeg: ffmpeg .zlib +else +.ffmpeg: ffmpeg .faac .lame +endif + (cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-pp --disable-vhook --disable-ffserver --disable-network --enable-a52 --disable-ffplay && make install-libs install-headers) touch $@ CLEAN_FILE += .ffmpeg CLEAN_PKG += ffmpeg ffmpeg.cvs DISTCLEAN_PKG += ffmpeg-$(FFMPEG_VERSION).tar.gz -# *************************************************************************** -# openslp -# *************************************************************************** - -openslp-$(OPENSLP_VERSION).tar.gz: - $(WGET) $(OPENSLP_URL) - -openslp: openslp-$(OPENSLP_VERSION).tar.gz - $(EXTRACT_GZ) - patch -p 0 < Patches/openslp.patch - -.openslp: openslp - (cd $<; ./configure --prefix=$(PREFIX) && make SUBDIRS="common libslpattr slpd libslp slptool" && make install SUBDIRS="common libslpattr slpd libslp slptool") - touch $@ - -CLEAN_FILE += .openslp -CLEAN_PKG += openslp -DISTCLEAN_PKG += openslp-$(OPENSLP_VERSION).tar.gz - # *************************************************************************** # libdvdcss # *************************************************************************** @@ -779,7 +913,7 @@ libdvdcss: libdvdcss-$(LIBDVDCSS_VERSION).tar.gz endif .dvdcss: libdvdcss - (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) $(INSTALL_NAME) touch $@ @@ -788,49 +922,68 @@ CLEAN_PKG += libdvdcss DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.gz # *************************************************************************** -# libdvdread +# libdvdread: We use dvdnav's dvdread # *************************************************************************** -libdvdread-$(LIBDVDREAD_VERSION).tar.gz: - $(WGET) $(LIBDVDREAD_URL) +#libdvdread-$(LIBDVDREAD_VERSION).tar.bz2: +# $(WGET) $(LIBDVDREAD_URL) -libdvdread: libdvdread-$(LIBDVDREAD_VERSION).tar.gz - $(EXTRACT_GZ) - patch -p 0 < Patches/libdvdread.patch +#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 -p 0 < ../Patches/libdvdread-20041028-win32.patch; ./bootstrap) +#endif -.dvdread: libdvdread .dvdcss - (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install) +#.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/libdvdnav.dylib) touch $@ CLEAN_FILE += .dvdread -CLEAN_PKG += libdvdread -DISTCLEAN_PKG += libdvdread-$(LIBDVDREAD_VERSION).tar.gz # *************************************************************************** # libdvdnav # *************************************************************************** -libdvdnav-$(LIBDVDNAV_VERSION).tar.gz: +libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2: $(WGET) $(LIBDVDNAV_URL) -libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.gz - $(EXTRACT_GZ) +libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2 + $(EXTRACT_BZ2) patch -p 0 < Patches/dvdnav.patch -ifdef HAVE_DARWIN_OS - (cd $@; autoconf) -else + patch -p 0 < Patches/libdvdnav-mactel.patch (cd $@; ./autogen.sh noconfig) -endif -.dvdnav: libdvdnav .dvdread - (cd $<; ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install) +.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) +else + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install) +endif $(INSTALL_NAME) touch $@ CLEAN_FILE += .dvdnav CLEAN_PKG += libdvdnav -DISTCLEAN_PKG += libdvdnav-$(LIBDVDNAV_VERSION).tar.gz +DISTCLEAN_PKG += libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2 # *************************************************************************** # libdvbpsi @@ -843,7 +996,7 @@ libdvbpsi: libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz $(EXTRACT_GZ) .dvbpsi: libdvbpsi - (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && cd src && make && make install) $(INSTALL_NAME) touch $@ @@ -855,24 +1008,34 @@ DISTCLEAN_PKG += libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz # live # *************************************************************************** -live-$(LIVEDOTCOM_VERSION).tar.gz: +live555-$(LIVEDOTCOM_VERSION).tar.gz: $(WGET) $(LIVEDOTCOM_URL) -live: live-$(LIVEDOTCOM_VERSION).tar.gz +live: live555-$(LIVEDOTCOM_VERSION).tar.gz $(EXTRACT_GZ) patch -p 0 < Patches/live.patch + patch -p 0 < Patches/livedotcom-win32.patch + patch -p 0 < Patches/live-osx.patch .live: live -ifeq ($(HOST),ppc-darwin) +ifeq ($(HOST),powerpc-apple-darwin8) + (cd $<; mv config.macosx config.macosx.orig) + (cd $<; sed -e 's%EXTRA_CFLAGS%$(EXTRA_CFLAGS)%' -e 's%EXTRA_LDFLAGS%$(EXTRA_LDFLAGS)%' < config.macosx.orig > config.macosx) + (cd $<; ./genMakefiles macosx && make) +else +ifeq ($(HOST),powerpc-apple-darwin*) (cd $<; ./genMakefiles macosx-before-version-10.4 && make ) +elif defined( HAVE_WIN32 ) + (cd $<;./genMakefiles mingw && make $(HOSTCC)) else - (cd $<; ./genMakefiles macosx && make ) + (cd $<;./genMakefiles linux && make ) +endif endif touch $@ CLEAN_FILE += .live CLEAN_PKG += live -DISTCLEAN_PKG += live-$(LIVEDOTCOM_VERSION).tar.gz +DISTCLEAN_PKG += live555-$(LIVEDOTCOM_VERSION).tar.gz # *************************************************************************** # goom @@ -902,10 +1065,20 @@ goom$(GOOM2k4_VERSION).tar.gz: goom: goom$(GOOM2k4_VERSION).tar.gz $(EXTRACT_GZ) +ifdef HAVE_DARWIN_OS patch -p 0 < Patches/goom.patch +endif +ifdef HAVE_WIN32 + (cd $@; dos2unix configure.in) + patch -p 0 configure && $(HOSTCC) sh ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static --disable-glibtest --disable-gtktest && make && make install) +endif touch $@ CLEAN_FILE += .goom2k4 @@ -923,7 +1096,11 @@ libcaca: libcaca-$(LIBCACA_VERSION).tar.gz $(EXTRACT_GZ) .caca: libcaca - (cd $<; ./configure --prefix=$(PREFIX) --disable-imlib2 --disable-doc && make && make install) +ifdef HAVE_WIN32 + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-win32 --disable-x11 --disable-imlib2 --disable-doc && make && make install) +else + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-imlib2 --disable-doc && make && make install) +endif touch $@ CLEAN_FILE += .caca @@ -940,7 +1117,7 @@ libdts-$(LIBDTS_VERSION).tar.gz: ifeq ($(HOST),i586-pc-beos) # libdts 0.0.2 doesn't compile on BeOS libdts: - svn co svn://svn.videolan.org/libdts/trunk libdts + $(SVN) co svn://svn.videolan.org/libdts/trunk libdts (cd $@; ./bootstrap) else libdts: libdts-$(LIBDTS_VERSION).tar.gz @@ -948,7 +1125,7 @@ libdts: libdts-$(LIBDTS_VERSION).tar.gz endif .dts: libdts - (cd $<; ./configure --prefix=$(PREFIX) && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) touch $@ CLEAN_FILE += .dts @@ -962,20 +1139,32 @@ DISTCLEAN_PKG += libdts-$(LIBDTS_VERSION).tar.gz ifdef SVN x264: $(SVN) co svn://svn.videolan.org/x264/trunk/ x264 - cd x264 && patch -p 0 < ../Patches/x264_svn.patch +ifdef HAVE_WIN32 + (cd x264; patch -p 0 < ../Patches/x264-svn-win32.patch ) +else + patch -p 0 < Patches/x264_svn.patch rm x264/x264.c +endif else x264-$(X264_VERSION).tar.gz: $(WGET) $(X264_URL) x264: x264-$(X264_VERSION).tar.gz $(EXTRACT_GZ) +ifdef HAVE_WIN32 + (cd x264;patch -p 0 <../Patches/x264-20050624-win32.patch) +else patch -p 0 < Patches/x264.patch rm x264/x264.c endif +endif +ifeq ($(HOST),i686-apple-darwin8) +.x264: x264 .nasm +else .x264: x264 - (cd $<; ./configure --enable-pthread --prefix=$(PREFIX) && make && make install) +endif + (cd $<; ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install) touch $@ CLEAN_FILE += .x264 @@ -993,7 +1182,7 @@ libmodplug: libmodplug-$(MODPLUG_VERSION).tar.gz $(EXTRACT_GZ) .mod: libmodplug - (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static && make && make install) touch $@ CLEAN_FILE += .mod @@ -1004,14 +1193,15 @@ DISTCLEAN_PKG += libmodplug-$(MODPLUG_VERSION).tar.gz # libcddb # *************************************************************************** -libcddb-$(CDDB_VERSION).tar.bz2: +libcddb-$(CDDB_VERSION).tar.gz: $(WGET) $(CDDB_URL) -libcddb: libcddb-$(CDDB_VERSION).tar.bz2 - $(EXTRACT_BZ2) +libcddb: libcddb-$(CDDB_VERSION).tar.gz + $(EXTRACT_GZ) + patch -p 0 < Patches/libcddb.patch .cddb: libcddb - (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static CFLAGS="$(CFLAGS) -D_BSD_SOCKLEN_T_=int" LDFLAGS="$(LDFLAGS) -liconv" && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static CFLAGS="$(CFLAGS) -D_BSD_SOCKLEN_T_=int" LDFLAGS="$(LDFLAGS) -liconv" && make && make install) touch $@ CLEAN_FILE += .cddb @@ -1078,6 +1268,96 @@ CLEAN_FILE += .mash CLEAN_PKG += mash-code DISTCLEAN_PKG += mash-src-$(MASH_VERSION).tar.gz +# *************************************************************************** +# wxWidgets +# *************************************************************************** + +wxWidgets-$(WXWIDGETS_VERSION).tar.gz: + $(WGET) $(WXWIDGETS_URL) + +wxwidgets: wxWidgets-$(WXWIDGETS_VERSION).tar.gz + $(EXTRACT_GZ) +# (cd wxwidgets; patch -p1 <../Patches/wxMSW-win32.patch) + +.wxwidgets: wxwidgets + (cd wxwidgets; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-optimise --disable-debug --disable-threads --disable-gif --disable-pcx --disable-iff --disable-pnm --without-zlib --without-libpng --without-libjpeg --without-libtiff --without-regex --disable-zipstream --disable-fs_zip --enable-no_rtti --enable-no_exceptions --disable-exceptions --disable-stl --disable-html --without-expat --disable-protocols --disable-protocol --disable-xrc --disable-sound --disable-dialupman --disable-mediactrl --disable-joystick --disable-grid --disable-datepick --disable-postscript--disable-filesystem --disable-fileproto --disable-ipc --disable-sockets --disable-precomp-headers && make && make install) + $(INSTALL_NAME) + touch $@ + +CLEAN_FILE += .wxwidgets +CLEAN_PKG += wxwidgets +DISTCLEAN_PKG += wxWidgets-$(WXWIDGETS_VERSION).tar.gz + +# *************************************************************************** +# zlib +# *************************************************************************** + +zlib-$(ZLIB_VERSION).tar.gz: + $(WGET) $(ZLIB_URL) + +zlib: zlib-$(ZLIB_VERSION).tar.gz + $(EXTRACT_GZ) + patch -p 0 < Patches/zlib.patch + +.zlib: zlib + (cd zlib; $(HOSTCC2) ./configure --prefix=$(PREFIX) && make install) + $(INSTALL_NAME) + touch $@ + +CLEAN_FILE += .zlib +CLEAN_PKG += zlib +DISTCLEAN_PKG += zlib-$(ZLIB_VERSION).tar.gz + + +# *************************************************************************** +# PortAudio +# *************************************************************************** + +pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz: + $(WGET) $(PORTAUDIO_URL) + +portaudio: pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz + $(EXTRACT_GZ) +ifneq ($(HOST),$(BUILD)) + (patch -p 0 < Patches/portaudio-cross.patch;cd $@; autoconf) +endif + +.portaudio: portaudio + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) + $(INSTALL_NAME) + touch $@ + +CLEAN_FILE += .portaudio +CLEAN_PKG += portaudio +DISTCLEAN_PKG += pa_snapshot_v$(PORTAUDIO__VERSION).tar.gz + + +# *************************************************************************** +# xml +# *************************************************************************** + +libxml2-$(XML_VERSION).tar.gz: + $(WGET) $(XML_URL) + +xml: libxml2-$(XML_VERSION).tar.gz + $(EXTRACT_GZ) +ifdef HAVE_WIN32 + patch -p 0 < Patches/xml2-win32.patch + rm -f xml/aclocal.m4 +endif + +.xml: xml + (cd xml; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-minimal --with-catalog --with-reader --with-tree --with-push --with-xptr --with-valid --with-writer --with-output --with-xpath --with-xinclude --with-sax1 --without-zlib --without-iconv --without-http --without-ftp && make && make install) +ifndef HAVE_DARWIN_OS + $(INSTALL_NAME) +endif + touch $@ + +CLEAN_FILE += .xml +CLEAN_PKG += xml +DISTCLEAN_PKG += libxml2-$(XML_VERSION).tar.gz + + # *************************************************************************** # twolame # *************************************************************************** @@ -1089,7 +1369,7 @@ twolame: twolame-$(TWOLAME_VERSION).tar.gz $(EXTRACT_GZ) .twolame: twolame - (cd twolame; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) + (cd twolame; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) $(INSTALL_NAME) touch $@ @@ -1106,10 +1386,23 @@ libpng-$(PNG_VERSION).tar.bz2: libpng: libpng-$(PNG_VERSION).tar.bz2 $(EXTRACT_BZ2) - cat Patches/libpng.patch | sed s,PREFIX,$(PREFIX), | patch -p0 +ifdef HAVE_WIN32 + (cd $@; cat ../Patches/libpng-1.2.5-win32.patch | sed s,??PREFIX??,$(PREFIX), | patch -p0) +else + (cat Patches/libpng-osx.patch | sed -e 's%??PREFIX??%$(PREFIX)%' -e 's%??EXTRA_CFLAGS??%$(EXTRA_CFLAGS)%' -e 's%??EXTRA_LDFLAGS??%$(EXTRA_LDFLAGS)%' | patch -p0) +endif -.png: libpng +.png: libpng +ifdef HAVE_DARWIN_OS (cd $<; cp scripts/makefile.macosx Makefile && make && make install) +else +ifdef HAVE_WIN32 + (cd $<; rm -f INSTALL; cp scripts/makefile.cygwin Makefile && make $(HOSTCC) && make install-static) +else + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) +endif + $(INSTALL_NAME) +endif touch $@ CLEAN_FILE += .png @@ -1145,7 +1438,7 @@ libgpg-error: libgpg-error-$(GPGERROR_VERSION).tar.gz $(EXTRACT_GZ) .gpg-error: libgpg-error - (cd $<; ./configure --prefix=$(PREFIX) --disable-nls && make && make install) + (cd $<; ./autogen.sh && libtoolize --force && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-nls && make && make install) $(INSTALL_NAME) touch $@ @@ -1157,21 +1450,25 @@ DISTCLEAN_PKG += libgpg-error-$(GPGERROR_VERSION).tar.gz # libgcrypt # *************************************************************************** -libgcrypt-$(GCRYPT_VERSION).tar.gz: +libgcrypt-$(GCRYPT_VERSION).tar.bz2: $(WGET) $(GCRYPT_URL) -libgcrypt: libgcrypt-$(GCRYPT_VERSION).tar.gz - $(EXTRACT_GZ) +libgcrypt: libgcrypt-$(GCRYPT_VERSION).tar.bz2 + $(EXTRACT_BZ2) patch -p 0 < Patches/gcrypt.patch .gcrypt: libgcrypt .gpg-error - (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -D_BSD_SOCKLEN_T_=int" && make && make install) +ifdef HAVE_WIN32 + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --target=i586-mingw32msvc --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" && make && make install) +else + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" && make && make install) +endif $(INSTALL_NAME) touch $@ CLEAN_FILE += .gcrypt CLEAN_PKG += libgcrypt -DISTCLEAN_PKG += libgcrypt-$(GCRYPT_VERSION).tar.gz +DISTCLEAN_PKG += libgcrypt-$(GCRYPT_VERSION).tar.bz2 # *************************************************************************** # gnutls @@ -1182,9 +1479,14 @@ gnutls-$(GNUTLS_VERSION).tar.bz2: gnutls: gnutls-$(GNUTLS_VERSION).tar.bz2 $(EXTRACT_BZ2) + (cd gnutls/gl ;ln -s alloca_.h alloca.h) .gnutls: gnutls .gcrypt .gpg-error - (cd $<; ./configure --prefix=$(PREFIX) && make && make install) +ifdef HAVE_WIN32 + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" --target=i586-mingw32msvc && cd crypto && make && cd ../gl && make && cd ../lib &&make && make install && cd ../includes && make install) +else + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" && cd crypto && make && cd ../gl && make && cd ../lib &&make && make install && cd ../includes && make install) +endif $(INSTALL_NAME) touch $@ @@ -1221,6 +1523,7 @@ glib-$(GLIB_VERSION).tar.gz: glib: glib-$(GLIB_VERSION).tar.gz $(EXTRACT_GZ) + patch -p 0 < Patches/glib.patch .glib: glib (cd $<; ./configure --prefix=$(PREFIX) --host=powerpc-apple-macos && make && make install) @@ -1266,6 +1569,37 @@ CLEAN_FILE += .gecko CLEAN_PKG += gecko-sdk DISTCLEAN_PKG += gecko-sdk-ppc-macosx10.2-1.7.5.tar.gz +# *************************************************************************** +# Gecko SDK win32 +# *************************************************************************** + +gecko-sdk-i586-pc-msvc-1.7.5.zip: + $(WGET) $(GECKO_SDK_WIN32_URL) + +libIDL-0.6.3-win32-bin.zip: + $(WGET) $(LIBIDL_WIN32_BIN_URL) + +vc71-glib-1.2.10-bin.zip: + $(WGET) $(VC71_GLIB_WIN32_BIN_URL) + +gecko-sdk-win32: gecko-sdk-i586-pc-msvc-1.7.5.zip libIDL-0.6.3-win32-bin.zip vc71-glib-1.2.10-bin.zip + unzip gecko-sdk-i586-pc-msvc-1.7.5.zip + rm -rf ../gecko-sdk + mv gecko-sdk .. + unzip libIDL-0.6.3-win32-bin.zip + unzip vc71-glib-1.2.10-bin.zip + mv libIDL-0.6.3-win32-bin/libIDL-0.6.dll ../gecko-sdk/bin + rm -rf libIDL-0.6.3-win32-bin + mv vc71/bin/glib-1.2.dll ../gecko-sdk/bin + rm -rf vc71 + +.gecko-win32: gecko-sdk-win32 + touch $@ + +CLEAN_FILE += .gecko-win32 +CLEAN_PKG += gecko-sdk-win32 +DISTCLEAN_PKG += gecko-sdk-i586-pc-msvc-1.7.5.zip libIDL-0.6.3-win32-bin.zip vc71-glib-1.2.10-bin.zip + # *************************************************************************** # mozilla # *************************************************************************** @@ -1295,7 +1629,7 @@ jpeg: jpeg-$(JPEG_VERSION).tar.gz $(EXTRACT_GZ) .jpeg: jpeg - (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" && make && make install-lib) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" $(HOSTCC) && make && make install-lib) $(RANLIB) $(PREFIX)/lib/libjpeg.a touch $@ @@ -1314,9 +1648,16 @@ tiff-$(TIFF_VERSION).tar.gz: tiff: tiff-$(TIFF_VERSION).tar.gz $(EXTRACT_GZ) patch -p 0 < Patches/tiff.patch +ifneq ($(HOST),$(BUILD)) + patch -p 0 < Patches/tiff-cross.patch +endif .tiff: tiff +ifdef HAVE_WIN32 + (cd $<; ./configure --noninteractive --target=$(HOST) --with-CC=$(HOST)-gcc --with-DIR_BIN=$(PREFIX)/bin --with-DIR_LIB=$(PREFIX)/lib --with-DIR_INC=$(PREFIX)/include --with-CFLAGS="$(CFLAGS)" --with-JPEG=no --with-ZIP=no && make -C libtiff && make -C libtiff install) +else (cd $<; ./configure --noninteractive --with-DIR_BIN=$(PREFIX)/bin --with-DIR_LIB=$(PREFIX)/lib --with-DIR_INC=$(PREFIX)/include --with-CFLAGS="$(CFLAGS)" --with-JPEG=no --with-ZIP=no && make -C libtiff && make -C libtiff install) +endif touch $@ CLEAN_FILE += .tiff @@ -1335,7 +1676,7 @@ SDL: SDL-$(SDL_VERSION).tar.gz patch -p 0 < Patches/SDL.patch .SDL: SDL - (cd $<; ./configure --prefix=$(PREFIX) --disable-audio --disable-video-x11 --disable-video-aalib --disable-video-dga --disable-video-fbcon --disable-video-directfb --disable-video-ggi --disable-video-svga --disable-directx --disable-joystick --disable-cdrom --disable-threads --disable-sdl-dlopen CFLAGS="$(CFLAGS)" && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-audio --disable-video-x11 --disable-video-aalib --disable-video-dga --disable-video-fbcon --disable-video-directfb --disable-video-ggi --disable-video-svga --disable-directx --disable-joystick --disable-cdrom --disable-threads --disable-sdl-dlopen CFLAGS="$(CFLAGS)" && make && make install) $(INSTALL_NAME) touch $@ @@ -1355,7 +1696,7 @@ SDL_image: SDL_image-$(SDL_IMAGE_VERSION).tar.gz patch -p 0 < Patches/SDL_image.patch .SDL_image: SDL_image .SDL .png .jpeg .tiff - (cd $<; ./configure --prefix=$(PREFIX) --enable-tif CFLAGS="$(CFLAGS)" && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-tif CFLAGS="$(CFLAGS)" && make && make install) $(INSTALL_NAME) touch $@ @@ -1363,6 +1704,145 @@ CLEAN_FILE += .SDL_image CLEAN_PKG += SDL_image DISTCLEAN_PKG += SDL_image-$(SDL_IMAGE_VERSION).tar.gz +# *************************************************************************** +# Musepack decoder library (libmpcdec) +# *************************************************************************** + +libmpcdec-$(MUSE_VERSION).tar.bz2: + $(WGET) $(MUSE_URL) + +mpcdec: libmpcdec-$(MUSE_VERSION).tar.bz2 + $(EXTRACT_BZ2) + patch -p 0 < Patches/mpcdec.patch +ifdef HAVE_WIN32 + (cd $@; ./autogen.sh) +endif + +.mpcdec: mpcdec +ifdef HAVE_WIN32 + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS=-D_PTRDIFF_T=mpc_int32_t && make && make install) +else + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) +endif +ifdef HAVE_DARWIN_OS + $(INSTALL_NAME) +endif + touch $@ + +CLEAN_FILE += .mpcdec +CLEAN_PKG += mpcdec +DISTCLEAN_PKG += libmpcdec-$(MUSE_VERSION).tar.bz2 + +# *************************************************************************** +# Dirac +# *************************************************************************** + +dirac-$(DIRAC_VERSION).tar.gz: + $(WGET) $(DIRAC_URL) + +dirac: dirac-$(DIRAC_VERSION).tar.gz + $(EXTRACT_GZ) +ifneq ($(HOST),$(BUILD)) + patch -p 0 ./nasm.cvs +# CVS_PASSFILE=./nasm.cvs cvs -z3 -d $(NASM_CVSROOT) co nasm +# (cd $@ && autoconf && autoheader) + +.nasm: nasm + (cd $< && $(HOSTCC) ./configure --prefix=$(PREFIX) && make && make install) + touch $@ + +CLEAN_FILE += .nasm +CLEAN_PKG += nasm nasm.cvs +DISTCLEAN_PKG += nasm-$(NASM_VERSION).tar.bz2 + # *************************************************************************** # Copy aclocal files # This is necessary for --missing aclocal to succeed after a @@ -1373,6 +1853,7 @@ DISTCLEAN_PKG += SDL_image-$(SDL_IMAGE_VERSION).tar.gz cp -R $(PREFIX)/share/aclocal/* $(PREFIX)/../../m4/ touch $@ +CLEAN_FILE += .aclocal # *************************************************************************** # Some cleansing