]> git.sesse.net Git - vlc/blobdiff - extras/contrib/Makefile
Use var_InheritString for --decklink-video-connection.
[vlc] / extras / contrib / Makefile
index 6367d148f12091a8faa5a58731c58bf5f23f4886..4b65bb536255772839a8e4b34a61fef47b13b49c 100644 (file)
@@ -1,13 +1,14 @@
 # ***************************************************************************
 # Makefile : Build vlc-contrib files
 # ***************************************************************************
-# Copyright (C) 2003-2006 the VideoLAN team
+# Copyright (C) 2003-2010 the VideoLAN team
 # $Id$
 # 
 # Authors: Christophe Massiot <massiot@via.ecp.fr>
 #          Derk-Jan Hartman <hartman at videolan dot org>
 #          Christophe Mutricy <xtophe at videolan dot org>
-# 
+#          Felix Paul Kühne <fkuehne 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
 # the Free Software Foundation; either version 2 of the License, or    
 
 include ./config.mak
 
-BUILDDIRS = bin doc etc include info lib man sbin share vlc-lib tmp gecko-sdk
-
-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=34
+
+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
+       # install the gecko-sdk, which isn't part of the package for size and speed reasons
+       (cd src && rm -rf *gecko* && $(MAKE) .gecko)
+    # 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 && rm -f .iconv && $(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 - Sparkle bin sbin include lib share/aclocal* share/autoconf* \
+               share/automake* share/gettext* share/libtool*) | (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: FORCE
+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*\
-               share/autoconf* \
-               share/automake* share/gettext* gecko-sdk\
+       (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/$(DISTDIR)/live.com
@@ -105,14 +128,10 @@ package-win32: FORCE
        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
-FORCE:
 
+.PHONY: all clean-src clean-bin clean package-macosx