1 # Copyright (C) 2003-2011 the VideoLAN team
3 # This file is under the same license as the vlc package.
11 AUTOCONF=$(PREFIX)/bin/autoconf
14 ifeq ($(shell curl --version >/dev/null 2>&1 || echo FAIL),)
15 download = curl -f -L -- "$(1)" > "$@"
16 else ifeq ($(shell wget --version >/dev/null 2>&1 || echo FAIL),)
17 download = rm -f $@.tmp && \
18 wget --passive -c -p -O $@.tmp "$(1)" && \
22 download = $(error Neither curl nor wget found!)
25 UNPACK = $(RM) -R $@ \
26 $(foreach f,$(filter %.tar.gz %.tgz,$^), && tar xvzf $(f)) \
27 $(foreach f,$(filter %.tar.bz2,$^), && tar xvjf $(f)) \
28 $(foreach f,$(filter %.tar.xz,$^), && tar xvJf $(f)) \
29 $(foreach f,$(filter %.zip,$^), && unzip $(f))
31 UNPACK_DIR = $(basename $(basename $(notdir $<)))
32 APPLY = (cd $(UNPACK_DIR) && patch -p1) <
33 MOVE = mv $(UNPACK_DIR) $@ && touch $@
41 yasm-$(YASM_VERSION).tar.gz:
42 $(call download,$(YASM_URL))
44 yasm: yasm-$(YASM_VERSION).tar.gz
49 (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
54 DISTCLEAN_PKG += yasm-$(YASM_VERSION).tar.gz
58 cmake-$(CMAKE_VERSION).tar.gz:
59 $(call download,$(CMAKE_URL))
61 cmake: cmake-$(CMAKE_VERSION).tar.gz
66 (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
71 DISTCLEAN_PKG += cmake-$(CMAKE_VERSION).tar.gz
75 libtool-$(LIBTOOL_VERSION).tar.gz:
76 $(call download,$(LIBTOOL_URL))
78 libtool: libtool-$(LIBTOOL_VERSION).tar.gz
83 (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
84 ln -sf libtool $(PREFIX)/bin/glibtool
85 ln -sf libtoolize $(PREFIX)/bin/glibtoolize
89 DISTCLEAN_PKG += libtool-$(LIBTOOL_VERSION).tar.gz
90 CLEAN_FILE += .libtool
92 # GNU tar (with xz support)
94 tar-$(TAR_VERSION).tar.bz2:
95 $(call download,$(TAR_URL))
97 tar: tar-$(TAR_VERSION).tar.bz2
102 (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
106 DISTCLEAN_PKG += tar-$(TAR_VERSION).tar.bz2
111 xz-$(XZ_VERSION).tar.bz2:
112 $(call download,$(XZ_URL))
114 xz: xz-$(XZ_VERSION).tar.bz2
119 (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
123 DISTCLEAN_PKG += xz-$(XZ_VERSION).tar.bz2
128 autoconf-$(AUTOCONF_VERSION).tar.bz2:
129 $(call download,$(AUTOCONF_URL))
131 autoconf: autoconf-$(AUTOCONF_VERSION).tar.bz2
135 .autoconf: autoconf .pkg-config
136 (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
139 CLEAN_FILE += .autoconf
140 CLEAN_PKG += autoconf
141 DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.bz2
145 automake-$(AUTOMAKE_VERSION).tar.gz:
146 $(call download,$(AUTOMAKE_URL))
148 automake: automake-$(AUTOMAKE_VERSION).tar.gz
152 .automake: automake .autoconf
153 (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
156 CLEAN_FILE += .automake
157 CLEAN_PKG += automake
158 DISTCLEAN_PKG += automake-$(AUTOMAKE_VERSION).tar.gz
162 pkg-config-$(PKGCFG_VERSION).tar.gz:
163 $(call download,$(PKGCFG_URL))
165 pkgconfig: pkg-config-$(PKGCFG_VERSION).tar.gz
169 .pkg-config: pkgconfig
170 (cd pkgconfig; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
173 CLEAN_FILE += .pkg-config
174 CLEAN_PKG += pkgconfig
175 DISTCLEAN_PKG += pkg-config-$(PKGCFG_VERSION).tar.gz
182 rm -fr $(CLEAN_FILE) $(CLEAN_PKG) build/
185 rm -fr $(DISTCLEAN_PKG)
187 .PHONY: all clean distclean