]> git.sesse.net Git - vlc/blobdiff - contrib/src/main.mak
contrib: guess OS automatically, make package will create:
[vlc] / contrib / src / main.mak
index 8c83173eb96aa1914e0ed894e4aa4104b464d255..ef5b64a30b66fd91d0adc28ea6b33a1edf0834c4 100644 (file)
@@ -89,6 +89,28 @@ STRIP := $(HOST)-strip
 endif
 endif
 
+ifdef HAVE_MACOSX
+OSX_VERSION=10.6
+MACOSX_SDK=/Developer/SDKs/MacOSX$(OSX_VERSION).sdk
+CC=gcc-4.2
+CXX=g++-4.2
+AR=ar
+LD=ld
+STRIP=strip
+RANLIB=ranlib
+EXTRA_CFLAGS += -isysroot $(MACOSX_SDK) -mmacosx-version-min=$(OSX_VERSION)
+EXTRA_LDFLAGS += -Wl,-syslibroot,$(MACOSX_SDK) -mmacosx-version-min=$(OSX_VERSION) -isysroot $(MACOSX_SDK)
+#TODO ppc
+ifeq ($(ARCH),x86_64)
+EXTRA_CFLAGS += -m64
+EXTRA_LDFLAGS += -m64
+else
+EXTRA_CFLAGS += -m32
+EXTRA_LDFLAGS += -m32
+endif
+endif
+
+
 EXTRA_CFLAGS += -I$(PREFIX)/include
 CPPFLAGS := $(CPPFLAGS) $(EXTRA_CFLAGS)
 CFLAGS := $(CFLAGS) $(EXTRA_CFLAGS)
@@ -136,6 +158,14 @@ else
 download = $(error Neither curl nor wget found!)
 endif
 
+ifeq ($(shell gzcat --version >/dev/null 2>&1 || echo FAIL),)
+ZCAT = gzcat
+else ifeq ($(shell zcat --version >/dev/null 2>&1 || echo FAIL),)
+ZCAT = zcat
+else
+ZCAT ?= $(error Gunzip client (zcat) not found!)
+endif
+
 ifeq ($(shell sha512sum --version >/dev/null 2>&1 || echo FAIL),)
 SHA512SUM = sha512sum
 else ifeq ($(shell shasum --version >/dev/null 2>&1 || echo FAIL),)
@@ -182,8 +212,12 @@ download_git = \
        (cd $(dir $@) && \
         tar cvJ $(notdir $(@:.tar.xz=))) > $@ && \
        rm -Rf $(@:.tar.xz=)
-checksum = (cd $(TARBALLS) && $(1) --check /dev/stdin) < \
-               $(SRC)/$(patsubst .sum-%,%,$@)/$(2)SUMS
+checksum = \
+       $(foreach f,$(filter $(TARBALLS)/%,$^), \
+               grep -- " $(f:$(TARBALLS)/%=%)$$" \
+                       "$(SRC)/$(patsubst .sum-%,%,$@)/$(2)SUMS" &&) \
+       (cd $(TARBALLS) && $(1) --check /dev/stdin) < \
+               "$(SRC)/$(patsubst .sum-%,%,$@)/$(2)SUMS"
 CHECK_SHA512 = $(call checksum,$(SHA512SUM),SHA512)
 UNPACK = $(RM) -R $@ \
        $(foreach f,$(filter %.tar.gz %.tgz,$^), && tar xvzf $(f)) \
@@ -227,7 +261,7 @@ mostlyclean:
        -$(RM) $(foreach p,$(PKGS_ALL),.$(p) .sum-$(p) .dep-$(p))
        -$(RM) toolchain.cmake
        -$(RM) -R "$(PREFIX)"
-       -find -maxdepth 1 -type d '!' -name . -exec $(RM) -R '{}' ';'
+       -$(RM) -R */
 
 clean: mostlyclean
        -$(RM) $(TARBALLS)/*.*
@@ -236,9 +270,25 @@ distclean: clean
        $(RM) config.mak
        unlink Makefile
 
+OS=
+ifdef HAVE_MACOSX
+OS=macosx
+endif
+ifdef HAVE_WIN32
+OS=win32
+endif
+
 package: install
-       (cd $(PREFIX)/.. && \
-       tar cvJ $(notdir $(PREFIX))/) > ../vlc-contrib-$(HOST)-$(DATE).tar.xz
+       rm -Rf tmp/
+       mkdir -p tmp/
+       cp -r $(PREFIX) tmp/
+       # remove useless files
+       cd tmp/$(notdir $(PREFIX)); \
+               cd share; rm -Rf man doc gtk-doc info lua projectM gettext; cd ..; \
+               rm -Rf man sbin etc lib/lua lib/sidplay
+       cp $(SRC)/change_prefix.sh tmp/$(notdir $(PREFIX))/
+       cd tmp/$(notdir $(PREFIX)) && ./change_prefix.sh $(PREFIX) @@CONTRIB_PREFIX@@
+       (cd tmp && tar c $(notdir $(PREFIX))/) | bzip2 -c > ../vlc-contrib-$(OS)-$(HOST)-$(DATE).tar.bz2
 
 list:
        @echo All packages:
@@ -268,7 +318,7 @@ endif
 ifdef HAVE_MACOSX
        echo "set(CMAKE_SYSTEM_NAME Darwin)" >> $@
        echo "set(CMAKE_C_FLAGS $(CFLAGS))" >> $@
-       echo "set(CMAKE_CXX_FLAGS $(CFLAGS)" >> $@
+       echo "set(CMAKE_CXX_FLAGS $(CFLAGS))" >> $@
        echo "set(CMAKE_LD_FLAGS $(LDFLAGS))" >> $@
 endif
        echo "set(CMAKE_C_COMPILER $(CC))" >> $@