X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=extras%2Fcontrib%2FMakefile;h=73d132c4a8e27a9cede30e28b9cd97995652bb46;hb=2e024847e1bbfad3ddf4aa9fcb01c90c0e41c854;hp=f50a79821a3cc83a06e49e87ebf3e94857285ac7;hpb=38c7f394b9eb86b6d972d865c3cf630a4c574d1f;p=vlc diff --git a/extras/contrib/Makefile b/extras/contrib/Makefile index f50a79821a..73d132c4a8 100644 --- a/extras/contrib/Makefile +++ b/extras/contrib/Makefile @@ -1,13 +1,14 @@ # *************************************************************************** # Makefile : Build vlc-contrib files # *************************************************************************** -# Copyright (C) 2003-2006 the VideoLAN team +# Copyright (C) 2003-2009 the VideoLAN team # $Id$ # # Authors: Christophe Massiot # Derk-Jan Hartman # Christophe Mutricy -# +# Felix Paul Kühne +# # 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 # the Free Software Foundation; either version 2 of the License, or @@ -25,10 +26,10 @@ include ./config.mak -BUILDDIRS = bin doc etc include info lib man sbin share vlc-lib tmp gecko-sdk +BUILDDIRS = hosts build -ifdef HAVE_DARWIN_OS_ON_INTEL -TARGETALL=using-bin +ifdef HAVE_DARWIN_OS +TARGETALL=fat-bin else TARGETALL=using-src endif @@ -37,27 +38,61 @@ all: $(TARGETALL) using-src: $(MAKE) -C src +ifdef HAVE_DARWIN_10 + (cd $(PREFIX)/lib && sed -e 's%/usr/lib/libiconv.la%$(PREFIX)/lib/libiconv.la%g' -i.orig *.la && rm -f *.la.orig) +endif # shortcut src: using-src ifdef HAVE_DARWIN_OS -CONTRIBREV=2 +CONTRIBREV=22 + contrib-macosx-$(ARCH)-$(CONTRIBREV).tar.bz2: - $(WGET) ftp://ftp.videolan.org/pub/videolan/testing/contrib/$@ + $(WGET) http://downloads.videolan.org/pub/videolan/testing/contrib/$@ -using-bin: contrib-macosx-$(ARCH)-$(CONTRIBREV).tar.bz2 +hosts/$(HOST)/.$(CONTRIBREV): contrib-macosx-$(ARCH)-$(CONTRIBREV).tar.bz2 @if test -d tmp; then \ echo "Move away ./tmp, it's in the way" ; \ exit 1 ; \ fi mkdir tmp + mkdir -p $(PREFIX) (cd tmp && tar jxvf ../$<) ./change_prefix.sh tmp @@CONTRIB_PREFIX@@ $(PREFIX) - for dir in `(cd tmp && find . -type d)`; do mkdir -p -- $$dir; done - for i in `(cd tmp && find . -not -type d)`; do mv -f tmp/$$i $$i; done + (cd tmp && find . -type d) | while read dir; do mkdir -p -- "$(PREFIX)/$$dir"; done + (cd tmp && find . -not -type d) | while read i; do mv -f -- tmp/"$$i" "$(PREFIX)/$$i"; done rm -rf tmp + # libiconv.la is no longer present on Snow Leopard, so fix possible references to it, which would + # result in linking issues +ifdef HAVE_DARWIN_10 + (cd $(PREFIX)/lib && sed -e 's%/usr/lib/libiconv.la%$(PREFIX)/lib/libiconv.la%g' -i.orig *.la && rm -f *.la.orig) + (cd src && $(MAKE) .iconv) +endif + touch $@ + +using-bin: hosts/$(HOST)/.$(CONTRIBREV) + +hosts/fat/.$(CONTRIBREV)-from-archs: + @if test -d tmp; then \ + echo "Move away ./tmp, it's in the way" ; \ + exit 1 ; \ + fi + # FIXME - Doing this without rerunning bootstrap & make would be nicer + ./bootstrap i686-apple-darwin10 && make && \ + ./bootstrap x86_64-apple-darwin10 && make && \ + mkdir tmp; + cp -R hosts/x86_64-apple-darwin10/ tmp; + (cd tmp/lib && find . -name "*.dylib" -or -name "*.a") | while read lib; do rm tmp/lib/$$lib \ + lipo -create hosts/x86_64-apple-darwin10/lib/$$lib hosts/i686-apple-darwin10/lib/$$lib -output tmp/lib/$$lib; \ + done; + rm -Rf hosts/fat && \ + mv tmp hosts/fat && \ + touch $@ + +fat-bin: hosts/fat/.$(CONTRIBREV)-from-archs + endif clean-src: @@ -80,24 +115,24 @@ package-macosx: exit 1 ; \ fi mkdir tmp - tar cf - bin sbin include lib vlc-lib share/aclocal* share/autoconf* \ - share/automake* share/gettext* share/libtool* gecko-sdk \ - | (cd tmp; tar xf -) + (cd $(PREFIX); tar cf - *) | (cd tmp; tar xf -) ./change_prefix.sh tmp $(PREFIX) @@CONTRIB_PREFIX@@ (cd tmp; tar cf - .) | bzip2 -c > contrib-macosx.tar.bz2 rm -rf tmp + rm -f contrib-macosx-$(ARCH)-$(CONTRIBREV).tar.bz2 + mv contrib-macosx.tar.bz2 contrib-macosx-$(ARCH)-$(CONTRIBREV).tar.bz2 -DISTDIR = usr/win32 +DISTDIR = usr/win$* -package-win32: +package-win%: @if test -d tmp; then \ echo "Move away ./tmp, it's in the way" ; \ exit 1 ; \ fi mkdir -p tmp/$(DISTDIR) - tar cf - --dereference bin sbin include lib share/aclocal*\ + (cd $(PREFIX); tar cf - --dereference bin sbin include lib share/aclocal*\ share/autoconf* share/qt4* \ - share/automake* share/gettext* gecko-sdk\ + share/automake* share/gettext* gecko-sdk)\ | (cd tmp/$(DISTDIR); tar xpf -) #kludge for live.com mkdir -p tmp/$(DISTDIR)/live.com @@ -108,14 +143,10 @@ package-win32: done; # Change Prefix. ./change_prefix.sh tmp $(PREFIX) $(DISTDIR) -# Hack for qt4 - (cd tmp/$(DISTDIR)/bin; mv uic.exe uic.ex; mv rcc.exe rcc.ex; mv moc.exe moc.ex) -# Remove unused and potentially harmful files - (cd tmp/$(DISTDIR)/bin; rm -rfv *.exe; chmod a+x *) -# Hack for qt4 - (cd tmp/$(DISTDIR)/bin; mv uic.ex uic.exe; mv rcc.ex rcc.exe; mv moc.ex moc.exe) +# Remove unused and potentially harmful files (but skip qt4 executables) + (cd tmp/$(DISTDIR)/bin && rm -fv `find . -name 'uic.exe' -o -name 'rcc.exe' -o -name 'moc.exe' -o -name '*.exe' -printf '%p '` && chmod a+x * || true) # Tar it. - (cd tmp; tar cf - $(DISTDIR)) | bzip2 -c > contrib-`date +%Y%m%d`-win32-bin-gcc-`$(CC) --version|head -n 1|cut -f 3 -d ' '`-runtime-`/bin/echo -e "#include <_mingw.h>\n__MINGW32_VERSION"|$(CC) -E -|grep -v ^#|grep -v ' '`-only.tar.bz2 + (cd tmp; tar cf - $(DISTDIR)) | bzip2 -c > contrib-`date +%Y%m%d`-win$*-bin-gcc-`$(CC) --version|head -n 1|cut -f 3 -d ' '`-runtime-`/bin/echo -e "#include <_mingw.h>\n__MINGW32_VERSION"|$(CC) -E -|grep -v ^#|grep -v ' '`-only.tar.bz2 rm -rf tmp -.PHONY: all clean-src clean-bin clean package-macosx package-win32 +.PHONY: all clean-src clean-bin clean package-macosx