# ***************************************************************************
# src/Makefile : Dearchive and compile all files necessary
# ***************************************************************************
-# Copyright (C) 2003, 2004 VideoLAN
-# $Id: Makefile,v 1.16 2004/02/22 15:41:27 massiot Exp $
+# Copyright (C) 2003, 2004, 2005 VideoLAN
+# $Id$
#
# Authors: Christophe Massiot <massiot@via.ecp.fr>
# Derk-Jan Hartman <hartman at videolan dot org>
# Set a clean environment
# ***************************************************************************
+ifeq ($(HOST),ppc-darwin)
export PATH = $(PREFIX)/bin:/bin:/usr/bin
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/cross-tools/bin:/usr/bin:/bin
+endif
+endif
+
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
+export LDFLAGS = -L$(PREFIX)/lib $(EXTRA_LDFLAGS)
+
+# ***************************************************************************
+# Cross compilation variables
+# We'll usually use --host=<platform>, except for a few libraries which
+# don't handle it (gotta set CC/CXX/etc), and obviously FFmpeg has its own
+# way of doing it... ;)
+# ***************************************************************************
+
+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
+FFMPEGCONF=--cross-prefix=$(HOST)-
+RANLIB=$(HOST)-ranlib
+else
+# Building natively
+RANLIB=ranlib
+endif
# ***************************************************************************
# Standard rules
# ***************************************************************************
-all: .autoconf .libtool .automake .iconv .intl .freetype .fribidi \
+ifeq ($(HOST),ppc-darwin)
+all: .autoconf .libtool .automake .iconv .intl .pkgcfg .freetype .fribidi \
+ .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \
+ .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .openslp \
+ .dvdcss .dvdread .dvdnav .dvbpsi .live .goom2k4 .caca .mod \
+ .png .gpgerror .gcrypt .gnutls .daap .cddb .cdio .vcdimager .aclocal
+endif
+
+ifeq ($(HOST),i586-pc-beos)
+ifeq ($(HOST),$(BUILD))
+# Native build: we need perl, autoconf, etc first
+all: .perl .autoconf .libtool .automake .iconv .intl .freetype .fribidi \
.a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \
- .FLAC .speex .faad .lame .ebml .matroska .ffmpeg .openslp \
- .dvdcss .dvdread .dvdplay .dvdnav .dvbpsi .live .goom .caca .dts
+ .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .dvdcss \
+ .dvdread .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 .ebml .matroska .ffmpeg .dvdcss \
+ .dvdread .dvdnav .dvbpsi .aclocal
+endif
+endif
+
FORCE:
# ***************************************************************************
# $(INSTALL_NAME)
# touch $@
+ifeq ($(HOST),ppc-darwin)
define INSTALL_NAME_LIB
install_name_tool \
-change $(PREFIX)/lib/$(shell cd $(PREFIX)/lib; ls | grep "lib$(INSTALL_LIB).[0-9]*.dylib") \
$(INSTALL_NAME_LIB)) \
fi
endef
+endif
+
+ifeq ($(HOST),i586-pc-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 ($(BUILD),i586-pc-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
# 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 ($(BUILD),ppc-darwin)
.libtool:
if test -x /usr/bin/glibtoolize; then \
ln -sf /usr/bin/glibtoolize $(PREFIX)/bin/libtoolize ; \
fi
touch $@
+endif
+
+ifeq ($(BUILD),i586-pc-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
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
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 $(HOSTCONF) --prefix=$(PREFIX) )
+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
+ ( 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
+ifneq ($(HOST),$(BUILD))
+# We'll use the installed gettext and only need to cross-compile libintl
+ ( cd $< && make -C gettext-runtime/intl && make -C gettext-runtime/intl install )
+else
+# Build and install the whole gettext
+ ( cd $< && make && make install )
+endif
$(INSTALL_NAME)
touch $@
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 $(HOSTCONF) --prefix=$(PREFIX) --disable-nls && make && make install)
+ $(INSTALL_NAME)
+ touch $@
+
+CLEAN_FILE += .iconv
+CLEAN_PKG += libiconv
+DISTCLEAN_PKG += libiconv-$(LIBICONV_VERSION).tar.gz
+
# ***************************************************************************
# freetype2
# ***************************************************************************
$(EXTRACT_GZ)
.freetype: freetype2
- (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+ (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME)
touch $@
fribidi: fribidi-$(FRIBIDI_VERSION).tar.gz
$(EXTRACT_GZ)
- patch -p 0 < Patches/fribidi.patch
+ patch -p 0 < Patches/fribidi.patch.real
.fribidi: fribidi
- (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+ (cd $<; ./bootstrap && ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME)
touch $@
$(EXTRACT_GZ)
.a52: a52dec
- (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+ (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
touch $@
CLEAN_FILE += .a52
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)
+ (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --without-x --disable-dsl && make && make install)
touch $@
CLEAN_FILE += .mpeg2
CLEAN_PKG += mpeg2dec
#DISTCLEAN_PKG += mpeg2dec-$(MPEG2DEC_VERSION)-cvs.tar.gz
-DISTCLEAN_PKG += mpeg2dec-$(MPEG2_DEC_VERSION).tar.gz
+DISTCLEAN_PKG += mpeg2dec-$(MPEG2DEC_VERSION).tar.gz
# ***************************************************************************
# libid3tag
$(EXTRACT_GZ)
.id3tag: libid3tag
- (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+ (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME)
touch $@
$(EXTRACT_GZ)
.mad: libmad
- (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+ (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="-O3" && make && make install)
+ $(INSTALL_NAME)
touch $@
CLEAN_FILE += .mad
$(EXTRACT_GZ)
.ogg: libogg
- (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+ (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME)
touch $@
$(EXTRACT_GZ)
.vorbis: libvorbis .ogg
- (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
- $(INSTALL_NAME)
+# libvorbis' configure doesn't handle --host
+# FIXME: shared libs disabled for now because configure thinks we should
+# link the .so to -lc when cross-compiling to BeOS (-> fails)
+# -- titer 2005/02/12
+ (cd $<; $(HOSTCC) ./configure --prefix=$(PREFIX) --disable-shared && make && make install)
+# $(INSTALL_NAME)
touch $@
.vorbisenc: .vorbis .ogg
- $(INSTALL_NAME)
+# $(INSTALL_NAME)
touch $@
CLEAN_FILE += .vorbis .vorbisenc
# 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
- (cd $<; CC="gcc $(CFLAGS)" ./configure --prefix=$(PREFIX) && make && make install)
+ (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
+ $(INSTALL_NAME)
touch $@
CLEAN_FILE += .theora
CLEAN_PKG += libtheora
-DISTCLEAN_PKG += libtheora-$(THEORA_VERSION).tar.gz
+DISTCLEAN_PKG += libtheora-$(THEORA_VERSION).tar.bz2
# ***************************************************************************
# flac
$(EXTRACT_GZ)
.FLAC: flac
- (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+ (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME)
touch $@
speex: speex-$(SPEEX_VERSION).tar.gz
$(EXTRACT_GZ)
+ patch -p 0 < Patches/speex.patch
.speex: speex
- (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+ (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-ogg=no && make && make install)
$(INSTALL_NAME)
touch $@
faad2: faad2-$(FAAD2_VERSION).tar.bz2
$(EXTRACT_BZ2)
- patch -p 0 < Patches/faad2.patch
.faad: faad2
- (cd $<; ./configure --prefix=$(PREFIX) && make -C libfaad && make -C libfaad install)
+ (cd $<; ./configure $(HOSTCONF) --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 $<; rm -f install-sh mkinstalldirs missing && ./bootstrap && ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install)
+ touch $@
+
+CLEAN_FILE += .faac
+CLEAN_PKG += faac
+DISTCLEAN_PKG += faac-$(FAAC_VERSION).tar.bz2
# ***************************************************************************
# lame
$(EXTRACT_GZ)
.lame: lame
- (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+ (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install)
touch $@
CLEAN_FILE += .lame
# libebml
# ***************************************************************************
-libebml-$(LIBEBML_VERSION).tar.gz:
+libebml-$(LIBEBML_VERSION).tar.bz2:
$(WGET) $(LIBEBML_URL)
-libebml: libebml-$(LIBEBML_VERSION).tar.gz
- $(EXTRACT_GZ)
+libebml: libebml-$(LIBEBML_VERSION).tar.bz2
+ $(EXTRACT_BZ2)
-rm -rf $@/CVS
.ebml: libebml
- (cd $<; make -C make/linux prefix=$(PREFIX) && make -C make/linux install prefix=$(PREFIX))
- ranlib $(PREFIX)/lib/libebml.a
+ (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC2) && make -C make/linux install prefix=$(PREFIX))
+ $(RANLIB) $(PREFIX)/lib/libebml.a
touch $@
CLEAN_FILE += .ebml
CLEAN_PKG += libebml
-DISTCLEAN_PKG += libebml-$(LIBEBML_VERSION).tar.gz
+DISTCLEAN_PKG += libebml-$(LIBEBML_VERSION).tar.bz2
# ***************************************************************************
# libmatroska
# ***************************************************************************
-libmatroska-$(LIBMATROSKA_VERSION).tar.gz:
+libmatroska-$(LIBMATROSKA_VERSION).tar.bz2:
$(WGET) $(LIBMATROSKA_URL)
-libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.gz
- $(EXTRACT_GZ)
+libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
+ $(EXTRACT_BZ2)
-rm -rf $@/CVS
.matroska: libmatroska
- (cd $<; make -C make/linux prefix=$(PREFIX) && make -C make/linux install prefix=$(PREFIX))
- ranlib $(PREFIX)/lib/libmatroska.a
+ (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC2) && make -C make/linux install prefix=$(PREFIX))
+ $(RANLIB) $(PREFIX)/lib/libmatroska.a
touch $@
CLEAN_FILE += .matroska
CLEAN_PKG += libmatroska
-DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.gz
+DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
# ***************************************************************************
# ffmpeg
# ***************************************************************************
ffmpeg:
- cvs -d $(FFMPEG_CVSROOT) login
- cvs -d $(FFMPEG_CVSROOT) co 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)
# patch -p 0 < Patches/ffmpeg.patch
.ffmpeg: ffmpeg
- (cd $<; ./configure --prefix=$(PREFIX) --extra-cflags="$(CFLAGS)" --extra-ldflags="$(LDFLAGS)" --enable-mp3lame --enable-pp --disable-vhook --disable-vorbis --disable-faad --disable-a52 --enable-mp3lame --disable-zlib && make && make -C libavcodec/libpostproc install && make -C libavcodec installlib && make -C libavformat installlib)
+ (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 --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
$(EXTRACT_GZ)
.dvdcss: libdvdcss
- (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+ (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME)
touch $@
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)
+ (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install)
$(INSTALL_NAME)
touch $@
CLEAN_PKG += libdvdread
DISTCLEAN_PKG += libdvdread-$(LIBDVDREAD_VERSION).tar.gz
-# ***************************************************************************
-# libdvdplay
-# ***************************************************************************
-
-libdvdplay-$(LIBDVDPLAY_VERSION).tar.gz:
- $(WGET) $(LIBDVDPLAY_URL)
-
-libdvdplay: libdvdplay-$(LIBDVDPLAY_VERSION).tar.gz
- $(EXTRACT_GZ)
-
-.dvdplay: libdvdplay .dvdread
- (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
- $(INSTALL_NAME)
- touch $@
-
-CLEAN_FILE += .dvdplay
-CLEAN_PKG += libdvdplay
-DISTCLEAN_PKG += libdvdplay-$(LIBDVDPLAY_VERSION).tar.gz
-
# ***************************************************************************
# libdvdnav
# ***************************************************************************
libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.gz
$(EXTRACT_GZ)
+ patch -p 0 < Patches/dvdnav.patch
+ifeq ($(BUILD),ppc-darwin)
+ (cd $@; autoconf)
+else
+ (cd $@; ./autogen.sh noconfig)
+endif
.dvdnav: libdvdnav .dvdread
- (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install)
+ (cd $<; ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install)
$(INSTALL_NAME)
touch $@
$(EXTRACT_GZ)
.dvbpsi: libdvbpsi
- (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+ (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME)
touch $@
# goom
# ***************************************************************************
-goom-dj.tar.gz:
- $(WGET) $(GOOMDJ_URL)
+#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
+# ***************************************************************************
+
+goom$(GOOM2k4_VERSION).tar.gz:
+ $(WGET) $(GOOM2k4_URL)
+ mv goom-$(GOOM2k4_VERSION)-src.tar.gz goom$(GOOM2k4_VERSION).tar.gz
-goom: goom-dj.tar.gz
+goom: goom$(GOOM2k4_VERSION).tar.gz
$(EXTRACT_GZ)
+ patch -p 0 < Patches/goom.patch
-.goom: goom
- (cd $<;)
+.goom2k4: goom
+ (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install )
touch $@
-CLEAN_FILE += .goom
+CLEAN_FILE += .goom2k4
CLEAN_PKG += goom
-DISTCLEAN_PKG += goom-dj.tar.gz
+DISTCLEAN_PKG += goom$(GOOM2k_VESION).tar.gz
# ***************************************************************************
# libcaca
# libdts
# ***************************************************************************
-dtsdec-$(DTSDEC_VERSION).tar.gz:
- $(WGET) $(DTSDEC_URL)
+libdts-$(LIBDTS_VERSION).tar.gz:
+ $(WGET) $(LIBDTS_URL)
-dtsdec: dtsdec-$(DTSDEC_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
+ (cd $@; ./bootstrap)
+else
+libdts: libdts-$(LIBDTS_VERSION).tar.gz
$(EXTRACT_GZ)
+endif
-.dts: dtsdec
+.dts: libdts
(cd $<; ./configure --prefix=$(PREFIX) && make && make install)
touch $@
CLEAN_FILE += .dts
-CLEAN_PKG += dtsdec
-DISTCLEAN_PKG += dtsdec-$(DTSDEC_VERSION).tar.gz
+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" LDFLAGS="$(LDFLAGS) -liconv" && 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)
+
+ifeq ($(HOST),ppc-darwin)
+.vcdimager: vcdimager
+ (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static LDFLAGS="$(LDFLAGS) -framework CoreFoundation -framework IOKit" && make && make install)
+ touch $@
+else
+.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-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
+
+# ***************************************************************************
+# libopendaap
+# ***************************************************************************
+
+libopendaap-$(DAAP_VERSION).tar.bz2:
+ $(WGET) $(DAAP_URL)
+
+libopendaap: libopendaap-$(DAAP_VERSION).tar.bz2
+ $(EXTRACT_BZ2)
+ patch -p 0 < Patches/daap.patch
+
+.daap: libopendaap
+ (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -D_BSD_SOCKLEN_T_=int" && make install )
+ touch $@
+
+CLEAN_FILE += .daap
+CLEAN_PKG += libopendaap
+DISCLEAN_PKG += libopendaap-$(DAAP_VERSION).tar.bz2
+
+# ***************************************************************************
+# Copy aclocal files
+# This is necessary for --missing aclocal to succeed after a
+# configure.ac/Makefile.am change in the vlc root dir
+# **************************************************************************
+
+.aclocal:
+ cp -R $(PREFIX)/share/aclocal/* $(PREFIX)/../../m4/
+ touch $@
+
# ***************************************************************************
# Some cleansing