]> git.sesse.net Git - vlc/blobdiff - extras/contrib/src/Makefile
* build libiconv without i18n-support, so it can be compiled without gettext -- gette...
[vlc] / extras / contrib / src / Makefile
index 7da0721acca818c884983852f6908faab44bf279..46ca2e322414526acfcebd8198cfce8293e7c3f8 100644 (file)
@@ -1,10 +1,11 @@
 # ***************************************************************************
 # src/Makefile : Dearchive and compile all files necessary
 # ***************************************************************************
-# Copyright (C) 2003 VideoLAN
-# $Id: Makefile,v 1.1 2003/11/15 01:21:48 massiot Exp $
+# Copyright (C) 2003, 2004 VideoLAN
+# $Id$
 #
 # Authors: Christophe Massiot <massiot@via.ecp.fr>
+#          Derk-Jan Hartman <hartman at videolan dot org>
 #
 # 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
@@ -28,21 +29,41 @@ include ./packages.mak
 # Set a clean environment
 # ***************************************************************************
 
+ifeq ($(SYS),DARWIN)
 export PATH = $(PREFIX)/bin:/bin:/usr/bin
 export DYLD_LIBRARY_PATH = $(PREFIX)/lib
 export CPPFLAGS = -I$(PREFIX)/include $(EXTRA_CPPFLAGS)
 export CFLAGS = -I$(PREFIX)/include $(EXTRA_CPPFLAGS)
 export CXXFLAGS = -I$(PREFIX)/include $(EXTRA_CPPFLAGS)
 export LDFLAGS = -L$(PREFIX)/lib
+endif
+ifeq ($(SYS),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
+export BELIBRARIES = $(PREFIX)/lib:/boot/develop/lib/x86
+export C_INCLUDE_PATH = $(PREFIX)/include
+export CPLUS_INCLUDE_PATH = $(PREFIX)/include
+export LDFLAGS = -lnet
+endif
 
 # ***************************************************************************
 # Standard rules
 # ***************************************************************************
 
-all: .autoconf .libtool .automake .iconv .intl .freetype .fribidi \
+ifeq ($(SYS),DARWIN)
+all: .autoconf .libtool .automake .iconv .intl .pkgcfg .freetype .fribidi \
        .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \
-       .FLAC .speex .faad .lame .ebml .matroska .ffmpeg .openslp \
-       .dvdcss .dvdread .dvdplay .dvbpsi
+       .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .openslp \
+       .dvdcss .dvdread .dvdnav .dvbpsi .live .goom2k4 .caca .mod \
+       .png .gpgerror .gcrypt .gnutls
+endif
+ifeq ($(SYS),BEOS)
+all: .perl .autoconf .libtool .automake .iconv .intl .freetype .fribidi \
+       .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \
+       .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .dvdcss \
+       .dvdread .dvdnav .dvbpsi
+endif
+
 FORCE:
 
 # ***************************************************************************
@@ -73,10 +94,11 @@ endef
 #      $(INSTALL_NAME)
 #      touch $@
 
+ifeq ($(SYS),DARWIN)
 define INSTALL_NAME_LIB
        install_name_tool \
                -change $(PREFIX)/lib/$(shell cd $(PREFIX)/lib; ls | grep "lib$(INSTALL_LIB).[0-9]*.dylib") \
-               @executable_path/lib/lib$(INSTALL_LIB).dylib \
+               @executable_path/lib/vlc_lib$(INSTALL_LIB).dylib \
                $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).dylib ;
 endef
 
@@ -86,12 +108,47 @@ define INSTALL_NAME
                cp $(PREFIX)/lib/lib$(patsubst .%,%,$@).dylib \
                        $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).dylib ; \
                install_name_tool \
-                       -id @executable_path/lib/lib$(patsubst .%,%,$@).dylib \
+                       -id @executable_path/lib/vlc_lib$(patsubst .%,%,$@).dylib \
                        $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).dylib ; \
                $(foreach INSTALL_LIB,$(patsubst .%,%,$(filter .%,$^)), \
                        $(INSTALL_NAME_LIB)) \
        fi
 endef
+endif
+
+ifeq ($(SYS),BEOS)
+# We test if the file actually exists, as sometimes (but not always)
+# libtool won't accept to build the shared library
+define INSTALL_NAME
+       if test -f $(PREFIX)/lib/lib$(patsubst .%,%,$@).so ; then \
+               mkdir -p $(PREFIX)/vlc-lib ; \
+               cp $(PREFIX)/lib/lib$(patsubst .%,%,$@).so \
+                 $(PREFIX)/vlc-lib/ ; \
+       fi
+endef
+endif
+
+# ***************************************************************************
+# perl
+# ***************************************************************************
+
+ifeq ($(SYS),BEOS)
+perl-$(PERL_VERSION).tar.gz:
+       $(WGET) $(PERL_URL)
+
+perl: perl-$(PERL_VERSION).tar.gz
+       $(EXTRACT_GZ)
+       mv perl/hints/beos.sh perl/hints/beos.sh.orig
+       sed 's%prefix="/boot/home/config"%prefix="$(PREFIX)"%' < perl/hints/beos.sh.orig > perl/hints/beos.sh
+
+.perl: perl
+       (cd $<; ./Configure -d -e && make && make install && ln -sf perl5/$(PERL_VERSION)/BePC-beos/CORE/libperl.so $(PREFIX)/lib/libperl.so)
+       touch $@
+
+CLEAN_FILE += .perl
+CLEAN_PKG += perl
+DISTCLEAN_PKG += perl-$(PERL_VERSION).tar.gz
+endif
 
 # ***************************************************************************
 # autoconf
@@ -115,25 +172,28 @@ DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.gz
 # libtool
 # ***************************************************************************
 
-# This breaks under Darwin
-#libtool_$(LIBTOOL_VERSION).orig.tar.gz:
-#      $(WGET) $(LIBTOOL_URL)
-
-#libtool: libtool_$(LIBTOOL_VERSION).orig.tar.gz
-#      $(EXTRACT_GZ)
-#      rm $@
-#      mv libtool-$(LIBTOOL_VERSION) $@
-
-#.libtool: libtool
-#      (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
-#      touch $@
-
-# Darwin-specific
+ifeq ($(SYS),DARWIN)
 .libtool:
        if test -x /usr/bin/glibtoolize; then \
                ln -sf /usr/bin/glibtoolize $(PREFIX)/bin/libtoolize ; \
        fi
        touch $@
+endif
+
+ifeq ($(SYS),BEOS)
+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)
+       touch $@
+
+CLEAN_PKG += libtool
+DISTCLEAN_PKG += libtool-$(LIBTOOL_VERSION).tar.gz
+endif
 
 CLEAN_FILE += .libtool
 
@@ -156,23 +216,22 @@ CLEAN_PKG += automake
 DISTCLEAN_PKG += automake-$(AUTOMAKE_VERSION).tar.gz
 
 # ***************************************************************************
-# libiconv
+# pkgconfig
 # ***************************************************************************
 
-libiconv-$(LIBICONV_VERSION).tar.gz:
-       $(WGET) $(LIBICONV_URL)
+pkgconfig-$(PKGCFG_VERSION).tar.gz:
+       $(WGET) $(PKGCFG_URL)
 
-libiconv: libiconv-$(LIBICONV_VERSION).tar.gz
+pkgconfig: pkgconfig-$(PKGCFG_VERSION).tar.gz
        $(EXTRACT_GZ)
 
-.iconv: libiconv
-       (cd libiconv; ./configure --prefix=$(PREFIX) && make && make install)
-       $(INSTALL_NAME)
+.pkgcfg: pkgconfig
+       (cd pkgconfig; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
        touch $@
 
-CLEAN_FILE += .iconv
-CLEAN_PKG += libiconv
-DISTCLEAN_PKG += libiconv-$(LIBICONV_VERSION).tar.gz
+CLEAN_FILE += .pkgcfg
+CLEAN_PKG += pkgconfig
+DISTCLEAN_PKG += pkgconfig-$(PKGCFG_VERSION).tar.gz
 
 # ***************************************************************************
 # gettext
@@ -183,9 +242,16 @@ gettext-$(GETTEXT_VERSION).tar.gz:
 
 gettext: gettext-$(GETTEXT_VERSION).tar.gz
        $(EXTRACT_GZ)
-
-.intl: gettext .iconv
-       (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+       patch -p 0 < Patches/gettext.patch
+
+.intl: gettext
+       ( cd $< && ./configure --prefix=$(PREFIX) )
+ifeq ($(SYS),BEOS)
+# The ugliest kludge ever - so libtool correctly links shared libraries
+# on BeOS. Sorry, I just can't figure out how libtool works
+       ( cd $< && for f in `find . -name libtool`; do mv $$f $$f.orig; sed -e 's/ -shared / -nostart /' -e 's/^predep_objects.*/predep_objects=""/' < $$f.orig > $$f; chmod +x $$f; rm $$f.orig; done )
+endif
+       ( cd $< && make && make install )
        $(INSTALL_NAME)
        touch $@
 
@@ -193,6 +259,25 @@ CLEAN_FILE += .intl
 CLEAN_PKG += gettext
 DISTCLEAN_PKG += gettext-$(GETTEXT_VERSION).tar.gz
 
+# ***************************************************************************
+# libiconv
+# ***************************************************************************
+
+libiconv-$(LIBICONV_VERSION).tar.gz:
+       $(WGET) $(LIBICONV_URL)
+
+libiconv: libiconv-$(LIBICONV_VERSION).tar.gz
+       $(EXTRACT_GZ)
+
+.iconv: libiconv
+       (cd libiconv; ./configure --prefix=$(PREFIX) --disable-nls && make && make install)
+       $(INSTALL_NAME)
+       touch $@
+
+CLEAN_FILE += .iconv
+CLEAN_PKG += libiconv
+DISTCLEAN_PKG += libiconv-$(LIBICONV_VERSION).tar.gz
+
 # ***************************************************************************
 # freetype2
 # ***************************************************************************
@@ -260,13 +345,17 @@ DISTCLEAN_PKG += a52dec-$(A52DEC_VERSION).tar.gz
 #      cvs -d $(MPEG2DEC_CVSROOT) co mpeg2dec
 #      (cd $@; ./bootstrap)
 
+#mpeg2dec-$(MPEG2DEC_VERSION).tar.gz:
+#      $(WGET) $(MPEG2DEC_URL)
+
 # It is easier to use bootstrapped versions...
-mpeg2dec-0.3.2-cvs.tar.gz:
+mpeg2dec-$(MPEG2DEC_VERSION).tar.gz:
        $(WGET) $(MPEG2DEC_SNAPSHOT)
        mv mpeg2dec-snapshot.tar.gz $@
 
-mpeg2dec: mpeg2dec-0.3.2-cvs.tar.gz
+mpeg2dec: mpeg2dec-$(MPEG2DEC_VERSION).tar.gz
        $(EXTRACT_GZ)
+#      patch -p 0 < Patches/mpeg2dec.patch
 
 .mpeg2: mpeg2dec
        (cd $<; ./configure --prefix=$(PREFIX) --without-x --disable-dsl && make && make install)
@@ -274,7 +363,8 @@ mpeg2dec: mpeg2dec-0.3.2-cvs.tar.gz
 
 CLEAN_FILE += .mpeg2
 CLEAN_PKG += mpeg2dec
-DISTCLEAN_PKG += mpeg2dec-0.3.2-cvs.tar.gz
+#DISTCLEAN_PKG += mpeg2dec-$(MPEG2DEC_VERSION)-cvs.tar.gz
+DISTCLEAN_PKG += mpeg2dec-$(MPEG2DEC_VERSION).tar.gz
 
 # ***************************************************************************
 # libid3tag
@@ -306,7 +396,7 @@ libmad: libmad-$(LIBMAD_VERSION).tar.gz
        $(EXTRACT_GZ)
 
 .mad: libmad
-       (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+       (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="-O3" && make && make install)
        $(INSTALL_NAME)
        touch $@
 
@@ -373,11 +463,11 @@ DISTCLEAN_PKG += libvorbis-$(VORBIS_VERSION).tar.gz
 # theora
 # ***************************************************************************
 
-libtheora-$(THEORA_VERSION).tar.gz:
+libtheora-$(THEORA_VERSION).tar.bz2:
        $(WGET) $(THEORA_URL)
 
-libtheora: libtheora-$(THEORA_VERSION).tar.gz
-       $(EXTRACT_GZ)
+libtheora: libtheora-$(THEORA_VERSION).tar.bz2
+       $(EXTRACT_BZ2)
        patch -p 0 < Patches/theora.patch
 
 .theora: libtheora
@@ -386,7 +476,7 @@ libtheora: libtheora-$(THEORA_VERSION).tar.gz
 
 CLEAN_FILE += .theora
 CLEAN_PKG += libtheora
-DISTCLEAN_PKG += libtheora-$(THEORA_VERSION).tar.gz
+DISTCLEAN_PKG += libtheora-$(THEORA_VERSION).tar.bz2
 
 # ***************************************************************************
 # flac
@@ -416,6 +506,7 @@ speex-$(SPEEX_VERSION).tar.gz:
 
 speex: speex-$(SPEEX_VERSION).tar.gz
        $(EXTRACT_GZ)
+       patch -p 0 < Patches/speex.patch
 
 .speex: speex
        (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
@@ -437,21 +528,39 @@ DISTCLEAN_PKG += speex-$(SPEEX_VERSION).tar.gz
 #      (cd $@; patch -p 0 < ../Patches/faad2.patch)
 #      (cd $@; sh ./bootstrap)
 
-faad2-$(FAAD2_VERSION).tar.gz:
+faad2-$(FAAD2_VERSION).tar.bz2:
        $(WGET) $(FAAD2_URL)
 
-faad2: faad2-$(FAAD2_VERSION).tar.gz
-       $(EXTRACT_GZ)
-       (cd $@; patch -p 0 < ../Patches/faad2.patch)
+faad2: faad2-$(FAAD2_VERSION).tar.bz2
+       $(EXTRACT_BZ2)
 
 .faad: faad2
-       (cd $<; ./configure --prefix=$(PREFIX) && make -C libfaad && make -C libfaad install)
+       (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="-O3" && make -C libfaad && make -C libfaad install)
        $(INSTALL_NAME)
        touch $@
 
 CLEAN_FILE += .faad
 CLEAN_PKG += faad2
-DISTCLEAN_PKG += faad2-$(FAAD2_VERSION).tar.gz
+DISTCLEAN_PKG += faad2-$(FAAD2_VERSION).tar.bz2
+
+# ***************************************************************************
+# faac
+# ***************************************************************************
+
+faac-$(FAAC_VERSION).tar.bz2:
+       $(WGET) $(FAAC_URL)
+
+faac: faac-$(FAAC_VERSION).tar.bz2
+       $(EXTRACT_BZ2)
+       patch -p 0 < Patches/faac.patch
+
+.faac: faac
+       (cd $<; ./bootstrap && ./configure --prefix=$(PREFIX) --disable-shared && make && make install)
+       touch $@
+
+CLEAN_FILE += .faac
+CLEAN_PKG += faac
+DISTCLEAN_PKG += faac-$(FAAC_VERSION).tar.bz2
 
 # ***************************************************************************
 # lame
@@ -464,7 +573,7 @@ lame: lame-$(LAME_VERSION).tar.gz
        $(EXTRACT_GZ)
 
 .lame: lame
-       (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+       (cd $<; ./configure --prefix=$(PREFIX) --disable-shared && make && make install)
        touch $@
 
 CLEAN_FILE += .lame
@@ -480,6 +589,7 @@ libebml-$(LIBEBML_VERSION).tar.bz2:
 
 libebml: libebml-$(LIBEBML_VERSION).tar.bz2
        $(EXTRACT_BZ2)
+       patch -p 0 < Patches/ebml.patch
        -rm -rf $@/CVS
 
 .ebml: libebml
@@ -500,6 +610,7 @@ libmatroska-$(LIBMATROSKA_VERSION).tar.bz2:
 
 libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
        $(EXTRACT_BZ2)
+       patch -p 0 < Patches/matroska.patch
        -rm -rf $@/CVS
 
 .matroska: libmatroska
@@ -515,20 +626,26 @@ DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
 # ffmpeg
 # ***************************************************************************
 
+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)
+
 ffmpeg-$(FFMPEG_VERSION).tar.gz:
        $(WGET) $(FFMPEG_URL)
 
-ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz
-       $(EXTRACT_GZ)
-       patch -p 0 < Patches/ffmpeg.patch
+#ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz
+#      $(EXTRACT_GZ)
+#      patch -p 0 < Patches/ffmpeg.patch
 
 .ffmpeg: ffmpeg
-       (cd $<; ./configure --prefix=$(PREFIX) --extra-cflags="$(CFLAGS)" --extra-ldflags="$(LDFLAGS)" --enable-mp3lame --enable-pp && make && make -C libavcodec/libpostproc install && make -C libavcodec installlib && make -C libavformat installlib)
+       (cd $<; ./configure --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 --disable-vorbis --disable-faad --enable-mp3lame --enable-zlib --enable-a52 && make && make -C libavcodec/libpostproc install && make -C libavcodec installlib && make -C libavformat installlib)
        touch $@
 
 CLEAN_FILE += .ffmpeg
 CLEAN_PKG += ffmpeg
-DISTCLEAN_PKG += ffmpeg-(FFMPEG_VERSION).tar.gz
+DISTCLEAN_PKG += ffmpeg-$(FFMPEG_VERSION).tar.gz
 
 # ***************************************************************************
 # openslp
@@ -577,6 +694,7 @@ libdvdread-$(LIBDVDREAD_VERSION).tar.gz:
 
 libdvdread: libdvdread-$(LIBDVDREAD_VERSION).tar.gz
        $(EXTRACT_GZ)
+       patch -p 0 < Patches/libdvdread.patch
 
 .dvdread: libdvdread .dvdcss
        (cd $<; ./configure --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install)
@@ -588,32 +706,39 @@ CLEAN_PKG += libdvdread
 DISTCLEAN_PKG += libdvdread-$(LIBDVDREAD_VERSION).tar.gz
 
 # ***************************************************************************
-# libdvdplay
+# libdvdnav
 # ***************************************************************************
 
-libdvdplay-$(LIBDVDPLAY_VERSION).tar.gz:
-       $(WGET) $(LIBDVDPLAY_URL)
+libdvdnav-$(LIBDVDNAV_VERSION).tar.gz:
+       $(WGET) $(LIBDVDNAV_URL)
 
-libdvdplay: libdvdplay-$(LIBDVDPLAY_VERSION).tar.gz
+libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.gz
        $(EXTRACT_GZ)
-
-.dvdplay: libdvdplay .dvdread
-       (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+       patch -p 0 < Patches/dvdnav.patch
+ifeq ($(SYS),DARWIN)
+       (cd $@; autoconf)
+endif
+ifeq ($(SYS),BEOS)
+       (cd $@; ./autogen.sh noconfig)
+endif
+
+.dvdnav: libdvdnav .dvdread
+       (cd $<; ./configure --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install)
        $(INSTALL_NAME)
        touch $@
 
-CLEAN_FILE += .dvdplay
-CLEAN_PKG += libdvdplay
-DISTCLEAN_PKG += libdvdplay-$(LIBDVDPLAY_VERSION).tar.gz
+CLEAN_FILE += .dvdnav
+CLEAN_PKG += libdvdnav
+DISTCLEAN_PKG += libdvdnav-$(LIBDVDNAV_VERSION).tar.gz
 
 # ***************************************************************************
 # libdvbpsi
 # ***************************************************************************
 
-libdvbpsi-$(LIBDVBPSI_VERSION).tar.gz:
+libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz:
        $(WGET) $(LIBDVBPSI_URL)
 
-libdvbpsi: libdvbpsi-$(LIBDVBPSI_VERSION).tar.gz
+libdvbpsi: libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz
        $(EXTRACT_GZ)
 
 .dvbpsi: libdvbpsi
@@ -625,6 +750,316 @@ CLEAN_FILE += .dvbpsi
 CLEAN_PKG += libdvbpsi
 DISTCLEAN_PKG += libdvbpsi-$(LIBDVBPSI_VERSION).tar.gz
 
+# ***************************************************************************
+# live
+# ***************************************************************************
+
+live.$(LIVEDOTCOM_VERSION).tar.gz:
+       $(WGET) $(LIVEDOTCOM_URL)
+
+live: live.$(LIVEDOTCOM_VERSION).tar.gz
+       $(EXTRACT_GZ)
+       patch -p 0 < Patches/live.patch
+
+.live: live
+       (cd $<; ./genmakefiles macosx && make )
+       touch $@
+
+CLEAN_FILE += .live
+CLEAN_PKG += live
+DISTCLEAN_PKG += live.$(LIVEDOTCOM_VERSION).tar.gz
+
+# ***************************************************************************
+# goom
+# ***************************************************************************
+
+#goom-macosx-altivec-bin.tar.gz:
+#      $(WGET) $(GOOM_URL)
+
+#goom: goom-macosx-altivec-bin.tar.gz
+#      $(EXTRACT_GZ)
+
+#.goom: goom
+#      (cd $<;)
+#      touch $@
+
+#CLEAN_FILE += .goom
+#CLEAN_PKG += goom
+#DISTCLEAN_PKG += goom-macosx-altivec-bin.tar.gz
+
+# ***************************************************************************
+# goom2k4
+# ***************************************************************************
+
+goom2k4-$(GOOM2k4_VERSION).tar.gz:
+       $(WGET) $(GOOM2k4_URL)
+
+goom: goom2k4-$(GOOM2k4_VERSION).tar.gz
+       $(EXTRACT_GZ)
+
+.goom2k4: goom
+       (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static CFLAGS="$(CFLAGS) -faltivec" && make && make install )
+       touch $@
+
+CLEAN_FILE += .goom2k4
+CLEAN_PKG += goom
+DISTCLEAN_PKG += goom2k4-$(GOOM2k_VESION).tar.gz
+
+# ***************************************************************************
+# libcaca
+# ***************************************************************************
+
+libcaca-$(LIBCACA_VERSION).tar.gz:
+       $(WGET) $(LIBCACA_URL)
+
+libcaca: libcaca-$(LIBCACA_VERSION).tar.gz
+       $(EXTRACT_GZ)
+
+.caca: libcaca
+       (cd $<; ./configure --prefix=$(PREFIX) --disable-imlib2 --disable-doc && make && make install)
+       touch $@
+
+CLEAN_FILE += .caca
+CLEAN_PKG += libcaca
+DISTCLEAN_PKG += libcaca-$(LIBCACA_VERSION).tar.gz
+
+# ***************************************************************************
+# libdts
+# ***************************************************************************
+
+libdts-$(LIBDTS_VERSION).tar.gz:
+       $(WGET) $(LIBDTS_URL)
+
+ifeq ($(SYS),DARWIN)
+# libdts 0.0.2 doesn't compile on BeOS
+libdts: libdts-$(LIBDTS_VERSION).tar.gz
+       $(EXTRACT_GZ)
+endif
+
+ifeq ($(SYS),BEOS)
+libdts:
+       svn co svn://svn.videolan.org/libdts/trunk libdts
+       (cd $@; ./bootstrap)
+endif
+
+.dts: libdts
+       (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+       touch $@
+
+CLEAN_FILE += .dts
+CLEAN_PKG += libdts
+DISTCLEAN_PKG += libdts-$(LIBDTS_VERSION).tar.gz
+
+# ***************************************************************************
+# libmodplug
+# ***************************************************************************
+
+libmodplug-$(MODPLUG_VERSION).tar.gz:
+       $(WGET) $(MODPLUG_URL)
+
+libmodplug: libmodplug-$(MODPLUG_VERSION).tar.gz
+       $(EXTRACT_GZ)
+
+.mod: libmodplug
+       (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
+       touch $@
+
+CLEAN_FILE += .mod
+CLEAN_PKG += libmodplug
+DISTCLEAN_PKG += libmodplug-$(MODPLUG_VERSION).tar.gz
+
+# ***************************************************************************
+# libcddb
+# ***************************************************************************
+
+libcddb-$(CDDB_VERSION).tar.gz:
+       $(WGET) $(CDDB_URL)
+
+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" && make && make install)
+       touch $@
+
+CLEAN_FILE += .cddb
+CLEAN_PKG += libcddb
+DISTCLEAN_PKG += libcddb-$(CDDB_VERSION).tar.gz
+
+# ***************************************************************************
+# vcdimager
+# ***************************************************************************
+
+vcdimager-$(VCDIMAGER_VERSION).tar.gz:
+       $(WGET) $(VCDIMAGER_URL)
+
+vcdimager: vcdimager-$(VCDIMAGER_VERSION).tar.gz
+       $(EXTRACT_GZ)
+       patch -p 0 < Patches/vcdimager.patch
+
+ifeq ($(SYS),DARWIN)
+.vcdimager: vcdimager
+       (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static LDFLAGS="$(LDFLAGS) -framework CoreFoundation -framework IOKit" && make && make install)
+       touch $@
+endif
+
+ifeq ($(SYS),BEOS)
+.vcdimager: vcdimager
+       (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
+       touch $@
+endif
+
+CLEAN_FILE += .vcdimager
+CLEAN_PKG += vcdimager
+DISTCLEAN_PKG += vcdimager-$(VCDIMAGER_VERSION).tar.gz
+
+# ***************************************************************************
+# libcdio
+# ***************************************************************************
+
+libcdio-$(CDIO_VERSION).tar.gz:
+       $(WGET) $(CDIO_URL)
+
+libcdio: libcdio-$(CDIO_VERSION).tar.gz
+       $(EXTRACT_GZ)
+
+.cdio: libcdio
+       (cd $<; ./configure --prefix=$(PREFIX) --without-libcddb --without-vcdinfo && make && make install)
+       touch $@
+
+CLEAN_FILE += .cdio
+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
+
+# ***************************************************************************
+# toolame
+# ***************************************************************************
+
+toolame-$(TOOLAME_VERSION).tar.bz2:
+       $(WGET) $(TOOLAME_URL)
+
+toolame: toolame-$(TOOLAME_VERSION).tar.bz2
+       $(EXTRACT_BZ2)
+
+.toolame: toolame
+       (cd toolame; ./configure --prefix=$(PREFIX) && make && make install)
+       $(INSTALL_NAME)
+       touch $@
+
+CLEAN_FILE += .toolame
+CLEAN_PKG += toolame
+DISTCLEAN_PKG += toolame-$(TOOLAME_VERSION).tar.bz2
+
+# ***************************************************************************
+# libpng
+# ***************************************************************************
+
+libpng-$(PNG_VERSION).tar.bz2:
+       $(WGET) $(PNG_URL)
+
+libpng: libpng-$(PNG_VERSION).tar.bz2
+       $(EXTRACT_BZ2)
+       cat Patches/libpng.patch | sed s,PREFIX,$(PREFIX), | patch -p0
+
+.png: libpng
+       (cd $<; cp scripts/makefile.macosx Makefile && make shared && make install)
+       touch $@
+
+CLEAN_FILE += .png
+CLEAN_PKG += libpng
+DISCLEAN_PKG += libpng-$(PNG_VERSION).tar.bz2
+
+# ***************************************************************************
+# libzvbi
+# ***************************************************************************
+
+zvbi-$(ZVBI_VERSION).tar.bz2:
+       $(WGET) $(ZVBI_URL)
+
+zvbi: zvbi-$(ZVBI_VERSION).tar.bz2
+       $(EXTRACT_BZ2)
+
+.zvbi: zvbi
+       (cd $<; ./configure --prefix=$(PREFIX) && make )
+       touch $@
+
+CLEAN_FILE += .zvbi
+CLEAN_PKG += zvbi
+DISCLEAN_PKG += zvbi-$(ZVBI_VERSION).tar.bz2
+
+# ***************************************************************************
+# gpg-error 
+# ***************************************************************************
+
+libgpg-error-$(GPGERROR_VERSION).tar.gz:
+       $(WGET) $(GPGERROR_URL)
+
+libgpg-error: libgpg-error-$(GPGERROR_VERSION).tar.gz
+       $(EXTRACT_GZ)
+
+.gpgerror: libgpg-error
+       (cd $<; ./configure --prefix=$(PREFIX) && make && make install )
+       touch $@
+
+CLEAN_FILE += .gpgerror
+CLEAN_PKG += libgpg-error
+DISCLEAN_PKG += libgpg-error-$(GPGERROR_VERSION).tar.gz
+
+# ***************************************************************************
+# libgcrypt
+# ***************************************************************************
+
+libgcrypt-$(GCRYPT_VERSION).tar.gz:
+       $(WGET) $(GCRYPT_URL)
+
+libgcrypt: libgcrypt-$(GCRYPT_VERSION).tar.gz
+       $(EXTRACT_GZ)
+
+.gcrypt: libgcrypt
+       (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -D_BSD_SOCKLEN_T_=int" && make && make install )
+       touch $@
+
+CLEAN_FILE += .gcrypt
+CLEAN_PKG += libgcrypt
+DISCLEAN_PKG += libgcrypt-$(GCRYPT_VERSION).tar.gz
+
+# ***************************************************************************
+# gnutls
+# ***************************************************************************
+
+gnutls-$(GNUTLS_VERSION).tar.bz2:
+       $(WGET) $(GNUTLS_URL)
+
+gnutls: gnutls-$(GNUTLS_VERSION).tar.bz2
+       $(EXTRACT_BZ2)
+
+.gnutls: gnutls
+       (cd $<; ./configure --prefix=$(PREFIX) && make install )
+       touch $@
+
+CLEAN_FILE += .gnutls
+CLEAN_PKG += gnutls
+DISCLEAN_PKG += gnutls-$(GNUTLS_VERSION).tar.bz2
+
 # ***************************************************************************
 # Some cleansing
 # ***************************************************************************