]> git.sesse.net Git - vlc/blobdiff - extras/tools/tools.mak
tools: add GNU sed
[vlc] / extras / tools / tools.mak
index b32fb69e3e929c5b428a9e4badc4750b4b7dfdd5..3c20446e49cf5815edda40780161f60d8731d2ad 100644 (file)
@@ -18,6 +18,11 @@ download = rm -f $@.tmp && \
        wget --passive -c -p -O $@.tmp "$(1)" && \
        touch $@.tmp && \
        mv $@.tmp $@
+else ifeq ($(which fetch >/dev/null 2>&1 || echo FAIL),)
+download = rm -f $@.tmp && \
+       fetch -p -o $@.tmp "$(1)" && \
+       touch $@.tmp && \
+       mv $@.tmp $@
 else
 download = $(error Neither curl nor wget found!)
 endif
@@ -39,14 +44,14 @@ MOVE = mv $(UNPACK_DIR) $@ && touch $@
 # yasm
 
 yasm-$(YASM_VERSION).tar.gz:
-       $(download) $(YASM_URL)
+       $(call download,$(YASM_URL))
 
 yasm: yasm-$(YASM_VERSION).tar.gz
        $(UNPACK)
        $(MOVE)
 
 .yasm: yasm
-       (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+       (cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
        touch $@
 
 CLEAN_FILE += .yasm
@@ -56,14 +61,14 @@ DISTCLEAN_PKG += yasm-$(YASM_VERSION).tar.gz
 # cmake
 
 cmake-$(CMAKE_VERSION).tar.gz:
-       $(download) $(CMAKE_URL)
+       $(call download,$(CMAKE_URL))
 
 cmake: cmake-$(CMAKE_VERSION).tar.gz
        $(UNPACK)
        $(MOVE)
 
 .cmake: cmake
-       (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+       (cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
        touch $@
 
 CLEAN_FILE += .cmake
@@ -73,14 +78,14 @@ DISTCLEAN_PKG += cmake-$(CMAKE_VERSION).tar.gz
 # libtool
 
 libtool-$(LIBTOOL_VERSION).tar.gz:
-       $(download) $(LIBTOOL_URL)
+       $(call download,$(LIBTOOL_URL))
 
 libtool: libtool-$(LIBTOOL_VERSION).tar.gz
        $(UNPACK)
        $(MOVE)
 
 .libtool: libtool
-       (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+       (cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
        ln -sf libtool $(PREFIX)/bin/glibtool
        ln -sf libtoolize $(PREFIX)/bin/glibtoolize
        touch $@
@@ -92,14 +97,14 @@ CLEAN_FILE += .libtool
 # GNU tar (with xz support)
 
 tar-$(TAR_VERSION).tar.bz2:
-       $(download) $(TAR_URL)
+       $(call download,$(TAR_URL))
 
 tar: tar-$(TAR_VERSION).tar.bz2
        $(UNPACK)
        $(MOVE)
 
 .tar: tar
-       (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+       (cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
        touch $@
 
 CLEAN_PKG += tar
@@ -109,14 +114,14 @@ CLEAN_FILE += .tar
 # xz
 
 xz-$(XZ_VERSION).tar.bz2:
-       $(download) $(XZ_URL)
+       $(call download,$(XZ_URL))
 
 xz: xz-$(XZ_VERSION).tar.bz2
        $(UNPACK)
        $(MOVE)
 
 .xz: xz
-       (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+       (cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
        touch $@
 
 CLEAN_PKG += xz
@@ -125,55 +130,141 @@ CLEAN_FILE += .xz
 
 # autoconf
 
-autoconf-$(AUTOCONF_VERSION).tar.bz2:
-       $(download) $(AUTOCONF_URL)
+autoconf-$(AUTOCONF_VERSION).tar.gz:
+       $(call download,$(AUTOCONF_URL))
 
-autoconf: autoconf-$(AUTOCONF_VERSION).tar.bz2
+autoconf: autoconf-$(AUTOCONF_VERSION).tar.gz
        $(UNPACK)
        $(MOVE)
 
-.autoconf: autoconf
-       (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+.autoconf: autoconf .pkg-config
+       (cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
        touch $@
 
 CLEAN_FILE += .autoconf
 CLEAN_PKG += autoconf
-DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.bz2
+DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.gz
 
 # automake
 
 automake-$(AUTOMAKE_VERSION).tar.gz:
-       $(download) $(AUTOMAKE_URL)
+       $(call download,$(AUTOMAKE_URL))
 
 automake: automake-$(AUTOMAKE_VERSION).tar.gz
        $(UNPACK)
        $(MOVE)
 
 .automake: automake .autoconf
-       (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+       (cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
        touch $@
 
 CLEAN_FILE += .automake
 CLEAN_PKG += automake
 DISTCLEAN_PKG += automake-$(AUTOMAKE_VERSION).tar.gz
 
+# m4
+
+m4-$(M4_VERSION).tar.gz:
+       $(call download,$(M4_URL))
+
+m4: m4-$(M4_VERSION).tar.gz
+       $(UNPACK)
+       $(MOVE)
+
+.m4: m4
+       (cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
+       touch $@
+
+CLEAN_FILE += .m4
+CLEAN_PKG += m4
+DISTCLEAN_PKG += m4-$(M4_VERSION).tar.gz
+
 # pkg-config
 
 pkg-config-$(PKGCFG_VERSION).tar.gz:
-       $(download) $(PKGCFG_URL)
+       $(call download,$(PKGCFG_URL))
 
-pkgconfig: pkg-config-$(PKGCFG_VERSION).tar.gz .autoconf
+pkgconfig: pkg-config-$(PKGCFG_VERSION).tar.gz
        $(UNPACK)
+       mv pkg-config-lite-$(PKGCFG_VERSION) pkg-config-$(PKGCFG_VERSION)
        $(MOVE)
 
 .pkg-config: pkgconfig
-       (cd pkgconfig; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
+       (cd pkgconfig; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && $(MAKE) && $(MAKE) install)
        touch $@
 
 CLEAN_FILE += .pkg-config
 CLEAN_PKG += pkgconfig
 DISTCLEAN_PKG += pkg-config-$(PKGCFG_VERSION).tar.gz
 
+# openssl
+# we need to use -j1 here, since otherwise compilation fails (at least on Darwin)
+
+openssl-$(OPENSSL_VERSION).tar.gz:
+       $(call download,$(OPENSSL_URL))
+
+openssl: openssl-$(OPENSSL_VERSION).tar.gz
+       $(UNPACK)
+       $(MOVE)
+
+.openssl: openssl
+       (cd openssl; ./config --prefix=$(PREFIX) no-shared no-zlib && $(MAKE) -j1 && $(MAKE) test && $(MAKE) install)
+       touch $@
+
+CLEAN_FILE += .openssl
+CLEAN_PKG += openssl
+DISTCLEAN_PKG += openssl-$(OPENSSL_VERSION).tar.gz
+
+# gas-preprocessor
+gas-preprocessor-$(GAS_VERSION).tar.gz:
+       $(call download,$(GAS_URL))
+
+gas: gas-preprocessor-$(GAS_VERSION).tar.gz
+       $(UNPACK)
+       $(MOVE)
+
+.gas: gas
+       cp gas/gas-preprocessor.pl build/bin/
+       touch $@
+
+CLEAN_FILE += .gas
+CLEAN_PKG += gas
+DISTCLEAN_PKG += yuvi-gas-preprocessor-$(GAS_VERSION).tar.gz
+
+# Ragel State Machine Compiler
+ragel-$(RAGEL_VERSION).tar.gz:
+       $(call download,$(RAGEL_URL))
+
+ragel: ragel-$(RAGEL_VERSION).tar.gz
+       $(UNPACK)
+       $(MOVE)
+
+.ragel: ragel
+       $(APPLY) ragel-6.8-javacodegen.patch
+       (cd ragel; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && $(MAKE) && $(MAKE) install)
+       touch $@
+
+CLEAN_FILE += .ragel
+CLEAN_PKG += ragel
+DISTCLEAN_PKG += ragel-$(RAGEL_VERSION).tar.gz
+
+# GNU sed
+
+sed-$(SED_VERSION).tar.bz2:
+       $(call download,$(SED_URL))
+
+sed: sed-$(SED_VERSION).tar.bz2
+       $(UNPACK)
+       $(MOVE)
+
+.sed: sed
+       (cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
+       touch $@
+
+CLEAN_PKG += sed
+DISTCLEAN_PKG += sed-$(SED_VERSION).tar.bz2
+CLEAN_FILE += .sed
+
 #
 #
 #