X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=extras%2Fcontrib%2FMakefile;h=5ba519cbff50232b82492d15a054666c088e8675;hb=4819ff70002adf75aafdab72f3ca01a20fba22f0;hp=c9c21975147f1d51ec176ea926422fc530bb0a32;hpb=2a384e3d5666bf9f5caa2db78dd1683514f56b08;p=vlc diff --git a/extras/contrib/Makefile b/extras/contrib/Makefile index c9c2197514..5ba519cbff 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,85 +26,109 @@ include ./config.mak -BUILDDIRS = bin doc etc include info lib man sbin share vlc-lib tmp - -all: FORCE -# @echo "Do you mean to make src or make bin ?" - @echo " 'make bin' isn't functional at the moment," - @echo " running 'make src' instead..." - $(MAKE) src - -src: FORCE - $(MAKE) -C src all - -contrib-macosx.tar.bz2: FORCE - $(WGET) $(CONTRIB_URL) - -bin: FORCE - @echo "make bin isn't in a functional state at this moment. Please use make src" - -#The disabled make bin -#bin: contrib-macosx.tar.bz2 -# @if test -d tmp; then \ -# echo "Move away ./tmp, it's in the way" ; \ -# exit 1 ; \ -# fi -# mkdir tmp -# bunzip2 -c $< | (cd tmp; tar xf -) -# ./change_prefix.sh tmp @@CONTRIB_PREFIX@@ $(PREFIX) -# (cd tmp; tar cf - .) | tar xf - -# rm -rf tmp -# ranlib lib/*\.a - -clean-src: FORCE +BUILDDIRS = hosts build + +ifdef HAVE_DARWIN_OS +TARGETALL=using-bin +else +TARGETALL=using-src +endif + +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=24 + +contrib-macosx-$(ARCH)-$(CONTRIBREV).tar.bz2: + $(WGET) http://downloads.videolan.org/pub/videolan/testing/contrib/$@ + +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) + (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 hosts/$(HOST)/.$(CONTRIBREV) + +using-bin: hosts/$(HOST)/.$(CONTRIBREV) + +endif + +clean: rm -rf $(BUILDDIRS) - $(MAKE) -C src clean-src + $(MAKE) -C src clean -clean-bin: FORCE +clean-bin: rm -rf $(BUILDDIRS) $(MAKE) -C src clean-dots -clean: FORCE -# @echo " Do you mean to clean-src or clean-bin ?" - @echo " 'make bin' isn't available at the moment" - @echo " you probably wanna run 'make clean-src' then" - @echo " you can still run 'make clean-bin' manually if needed" - $(MAKE) clean-src +distclean: + $(MAKE) clean + $(MAKE) -C src clean-src + rm -rf config.mak distro.mak -package-macosx: FORCE +bin: using-bin + +package-macosx: @if test -d tmp; then \ echo "Move away ./tmp, it's in the way" ; \ exit 1 ; \ fi mkdir tmp - tar cf - bin sbin include lib vlc-lib share/aclocal* share/autoconf* \ - share/automake* share/gettext* \ - | (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/win$* -package-win32: FORCE +package-win%: @if test -d tmp; then \ echo "Move away ./tmp, it's in the way" ; \ exit 1 ; \ fi - mkdir -p tmp/usr/win32 - tar cf - --dereference bin sbin include lib share/aclocal*\ - share/autoconf* \ - share/automake* share/gettext* gecko-sdk\ - | (cd tmp/usr/win32; tar xpf -) + mkdir -p tmp/$(DISTDIR) + (cd $(PREFIX); tar cf - --dereference bin sbin include lib share/aclocal*\ + share/autoconf* share/qt4* \ + share/automake* share/gettext* gecko-sdk)\ + | (cd tmp/$(DISTDIR); tar xpf -) #kludge for live.com - mkdir -p tmp/usr/win32/live.com + mkdir -p tmp/$(DISTDIR)/live.com for i in groupsock liveMedia UsageEnvironment BasicUsageEnvironment; do \ - mkdir -p tmp/usr/win32/live.com/$$i/include; \ - cp -r src/live/$$i/include tmp/usr/win32/live.com/$$i; \ - cp src/live/$$i/lib$${i}.a tmp/usr/win32/live.com/$$i; \ + mkdir -p tmp/$(DISTDIR)/live.com/$$i/include; \ + cp -r src/live/$$i/include tmp/$(DISTDIR)/live.com/$$i; \ + cp src/live/$$i/lib$${i}.a tmp/$(DISTDIR)/live.com/$$i; \ done; - ./change_prefix.sh tmp $(PREFIX) /usr/win32 -# Klugy kludge - (cd tmp/usr/win32/bin; rm -f *.exe; chmod a+x *) - (cd tmp; tar cf - usr/win32/) | bzip2 -c > contrib-`date +%Y%m%d`-win32-bin-gcc-`$(CC) --version|head -n 1|cut -f 3 -d ' '`-only.tar.bz2 +# Change Prefix. + ./change_prefix.sh tmp $(PREFIX) $(DISTDIR) +# 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`-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 -FORCE: +.PHONY: all clean-src clean-bin clean package-macosx