vlc/extras/tools/tools.mak

186 lines
3.6 KiB
Makefile
Raw Normal View History

# Copyright (C) 2003-2011 the VideoLAN team
#
# This file is under the same license as the vlc package.
include packages.mak
#
# common rules
#
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
#
2011-11-08 06:36:39 +01:00
# 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)
2011-11-25 18:53:05 +01:00
.tar: tar .xz
(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 .tar
(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
$(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