X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=extras%2Fcontrib%2Fsrc%2FMakefile;h=08eb0368573b5b33298f2d98e8ac94987c88aa67;hb=e3c2dcb097d0e2c5354680777af85ec3d19f05e5;hp=6b685b0e8dc285c73ef86599354e42770e2d6b28;hpb=7ee41f3f896e3bb92ca2910521607ae30dadbf22;p=vlc diff --git a/extras/contrib/src/Makefile b/extras/contrib/src/Makefile index 6b685b0e8d..08eb036857 100644 --- a/extras/contrib/src/Makefile +++ b/extras/contrib/src/Makefile @@ -1,7 +1,7 @@ # *************************************************************************** # src/Makefile : Dearchive and compile all files necessary # *************************************************************************** -# Copyright (C) 2003, 2004 VideoLAN +# Copyright (C) 2003, 2004, 2005 VideoLAN # $Id$ # # Authors: Christophe Massiot @@ -29,21 +29,76 @@ include ./packages.mak # 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=, 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 .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 .lame .ebml .matroska .ffmpeg .openslp \ - .dvdcss .dvdread .dvdplay .dvbpsi .live .goom .caca .dts .mod + .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .dvdcss \ + .dvdread .dvdnav .dvbpsi .aclocal +endif +endif + FORCE: # *************************************************************************** @@ -74,6 +129,7 @@ endef # $(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") \ @@ -93,6 +149,41 @@ define INSTALL_NAME $(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 @@ -116,25 +207,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 ($(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 @@ -157,23 +251,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 @@ -184,9 +277,22 @@ 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 $(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 $@ @@ -194,6 +300,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 $(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 # *************************************************************************** @@ -205,7 +330,7 @@ freetype2: freetype-$(FREETYPE2_VERSION).tar.gz $(EXTRACT_GZ) .freetype: freetype2 - (cd $<; ./configure --prefix=$(PREFIX) && make && make install) + (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) $(INSTALL_NAME) touch $@ @@ -222,10 +347,10 @@ fribidi-$(FRIBIDI_VERSION).tar.gz: 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 $@ @@ -244,7 +369,7 @@ a52dec: a52dec-$(A52DEC_VERSION).tar.gz $(EXTRACT_GZ) .a52: a52dec - (cd $<; ./configure --prefix=$(PREFIX) && make && make install) + (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) touch $@ CLEAN_FILE += .a52 @@ -271,15 +396,16 @@ mpeg2dec-$(MPEG2DEC_VERSION).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) + (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 @@ -292,7 +418,7 @@ libid3tag: libid3tag-$(LIBID3TAG_VERSION).tar.gz $(EXTRACT_GZ) .id3tag: libid3tag - (cd $<; ./configure --prefix=$(PREFIX) && make && make install) + (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) $(INSTALL_NAME) touch $@ @@ -311,7 +437,7 @@ libmad: libmad-$(LIBMAD_VERSION).tar.gz $(EXTRACT_GZ) .mad: libmad - (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="-O3" && make && make install) + (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="-O3" && make && make install) $(INSTALL_NAME) touch $@ @@ -336,7 +462,7 @@ libogg: libogg-$(OGG_VERSION).tar.gz $(EXTRACT_GZ) .ogg: libogg - (cd $<; ./configure --prefix=$(PREFIX) && make && make install) + (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) $(INSTALL_NAME) touch $@ @@ -362,12 +488,16 @@ libvorbis: libvorbis-$(VORBIS_VERSION).tar.gz $(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 @@ -378,20 +508,21 @@ 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 - (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 @@ -404,7 +535,7 @@ flac: flac-$(FLAC_VERSION).tar.gz $(EXTRACT_GZ) .FLAC: flac - (cd $<; ./configure --prefix=$(PREFIX) && make && make install) + (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) $(INSTALL_NAME) touch $@ @@ -421,9 +552,10 @@ 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) + (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-ogg=no && make && make install) $(INSTALL_NAME) touch $@ @@ -447,16 +579,34 @@ faad2-$(FAAD2_VERSION).tar.bz2: 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 @@ -469,7 +619,7 @@ lame: lame-$(LAME_VERSION).tar.gz $(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 @@ -480,49 +630,49 @@ DISTCLEAN_PKG += lame-$(LAME_VERSION).tar.gz # 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) @@ -534,7 +684,7 @@ ffmpeg-$(FFMPEG_VERSION).tar.gz: # patch -p 0 < Patches/ffmpeg.patch .ffmpeg: ffmpeg - (cd $<; ./configure --prefix=$(PREFIX) --extra-cflags="$(CFLAGS)" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-mp3lame --enable-pp --disable-vhook --disable-vorbis --disable-faad --disable-a52 --enable-mp3lame --disable-zlib --enable-a52 && 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 @@ -571,7 +721,7 @@ libdvdcss: libdvdcss-$(LIBDVDCSS_VERSION).tar.gz $(EXTRACT_GZ) .dvdcss: libdvdcss - (cd $<; ./configure --prefix=$(PREFIX) && make && make install) + (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) $(INSTALL_NAME) touch $@ @@ -588,9 +738,10 @@ 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) + (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install) $(INSTALL_NAME) touch $@ @@ -598,25 +749,6 @@ CLEAN_FILE += .dvdread 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 # *************************************************************************** @@ -626,9 +758,15 @@ libdvdnav-$(LIBDVDNAV_VERSION).tar.gz: 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 $@ @@ -647,7 +785,7 @@ libdvbpsi: libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz $(EXTRACT_GZ) .dvbpsi: libdvbpsi - (cd $<; ./configure --prefix=$(PREFIX) && make && make install) + (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) $(INSTALL_NAME) touch $@ @@ -678,19 +816,39 @@ DISTCLEAN_PKG += live.$(LIVEDOTCOM_VERSION).tar.gz # 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 @@ -717,8 +875,15 @@ DISTCLEAN_PKG += libcaca-$(LIBCACA_VERSION).tar.gz libdts-$(LIBDTS_VERSION).tar.gz: $(WGET) $(LIBDTS_URL) +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: libdts (cd $<; ./configure --prefix=$(PREFIX) && make && make install) @@ -746,6 +911,67 @@ 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="-L$(PREFIX)/lib -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 # *************************************************************************** @@ -764,6 +990,146 @@ 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 # ***************************************************************************