# Copyright (C) 2003-2011 the VideoLAN team # # This file is under the same license as the vlc package. include packages.mak # # common rules # AUTOCONF=$(PREFIX)/bin/autoconf export AUTOCONF ifeq ($(shell curl --version >/dev/null 2>&1 || echo FAIL),) download = curl -f -L -- "$(1)" > "$@" else ifeq ($(shell wget --version >/dev/null 2>&1 || echo FAIL),) download = rm -f $@.tmp && \ wget --passive -c -p -O $@.tmp "$(1)" && \ touch $@.tmp && \ mv $@.tmp $@ else download = $(error Neither curl nor wget found!) endif UNPACK = $(RM) -R $@ \ $(foreach f,$(filter %.tar.gz %.tgz,$^), && tar xvzf $(f)) \ $(foreach f,$(filter %.tar.bz2,$^), && tar xvjf $(f)) \ $(foreach f,$(filter %.tar.xz,$^), && tar xvJf $(f)) \ $(foreach f,$(filter %.zip,$^), && unzip $(f)) UNPACK_DIR = $(basename $(basename $(notdir $<))) APPLY = (cd $(UNPACK_DIR) && patch -p1) < MOVE = mv $(UNPACK_DIR) $@ && touch $@ # # package rules # # yasm yasm-$(YASM_VERSION).tar.gz: $(download) $(YASM_URL) yasm: yasm-$(YASM_VERSION).tar.gz $(UNPACK) $(MOVE) .yasm: yasm (cd $<; ./configure --prefix=$(PREFIX) && make && make install) touch $@ CLEAN_FILE += .yasm CLEAN_PKG += yasm DISTCLEAN_PKG += yasm-$(YASM_VERSION).tar.gz # cmake cmake-$(CMAKE_VERSION).tar.gz: $(download) $(CMAKE_URL) cmake: cmake-$(CMAKE_VERSION).tar.gz $(UNPACK) $(MOVE) .cmake: cmake (cd $<; ./configure --prefix=$(PREFIX) && make && make install) touch $@ CLEAN_FILE += .cmake CLEAN_PKG += cmake DISTCLEAN_PKG += cmake-$(CMAKE_VERSION).tar.gz # libtool libtool-$(LIBTOOL_VERSION).tar.gz: $(download) $(LIBTOOL_URL) libtool: libtool-$(LIBTOOL_VERSION).tar.gz $(UNPACK) $(MOVE) .libtool: libtool (cd $<; ./configure --prefix=$(PREFIX) && make && make install) ln -sf libtool $(PREFIX)/bin/glibtool ln -sf libtoolize $(PREFIX)/bin/glibtoolize touch $@ CLEAN_PKG += libtool DISTCLEAN_PKG += libtool-$(LIBTOOL_VERSION).tar.gz CLEAN_FILE += .libtool # GNU tar (with xz support) tar-$(TAR_VERSION).tar.bz2: $(download) $(TAR_URL) tar: tar-$(TAR_VERSION).tar.bz2 $(UNPACK) $(MOVE) .tar: tar (cd $<; ./configure --prefix=$(PREFIX) && make && make install) touch $@ CLEAN_PKG += tar DISTCLEAN_PKG += tar-$(TAR_VERSION).tar.bz2 CLEAN_FILE += .tar # xz xz-$(XZ_VERSION).tar.bz2: $(download) $(XZ_URL) xz: xz-$(XZ_VERSION).tar.bz2 $(UNPACK) $(MOVE) .xz: xz (cd $<; ./configure --prefix=$(PREFIX) && make && make install) touch $@ CLEAN_PKG += xz DISTCLEAN_PKG += xz-$(XZ_VERSION).tar.bz2 CLEAN_FILE += .xz # autoconf autoconf-$(AUTOCONF_VERSION).tar.bz2: $(download) $(AUTOCONF_URL) autoconf: autoconf-$(AUTOCONF_VERSION).tar.bz2 $(UNPACK) $(MOVE) .autoconf: autoconf (cd $<; ./configure --prefix=$(PREFIX) && make && make install) touch $@ CLEAN_FILE += .autoconf CLEAN_PKG += autoconf DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.bz2 # automake automake-$(AUTOMAKE_VERSION).tar.gz: $(download) $(AUTOMAKE_URL) automake: automake-$(AUTOMAKE_VERSION).tar.gz $(UNPACK) $(MOVE) .automake: automake .autoconf (cd $<; ./configure --prefix=$(PREFIX) && make && make install) touch $@ CLEAN_FILE += .automake CLEAN_PKG += automake DISTCLEAN_PKG += automake-$(AUTOMAKE_VERSION).tar.gz # pkg-config pkg-config-$(PKGCFG_VERSION).tar.gz: $(download) $(PKGCFG_URL) pkgconfig: pkg-config-$(PKGCFG_VERSION).tar.gz .autoconf $(UNPACK) $(MOVE) (cd $@; $(AUTOCONF)) .pkg-config: pkgconfig (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 # # # clean: rm -fr $(CLEAN_FILE) $(CLEAN_PKG) build/ distclean: clean rm -fr $(DISTCLEAN_PKG) .PHONY: all clean distclean