1 # Copyright (C) 2003-2011 the VideoLAN team
3 # This file is under the same license as the vlc package.
11 ifeq ($(shell curl --version >/dev/null 2>&1 || echo FAIL),)
12 download = curl -f -L -- "$(1)" > "$@"
13 else ifeq ($(shell wget --version >/dev/null 2>&1 || echo FAIL),)
14 download = rm -f $@.tmp && \
15 wget --passive -c -p -O $@.tmp "$(1)" && \
19 download = $(error Neither curl nor wget found!)
22 UNPACK = $(RM) -R $@ \
23 $(foreach f,$(filter %.tar.gz %.tgz,$^), && tar xvzf $(f)) \
24 $(foreach f,$(filter %.tar.bz2,$^), && tar xvjf $(f)) \
25 $(foreach f,$(filter %.tar.xz,$^), && tar xvJf $(f)) \
26 $(foreach f,$(filter %.zip,$^), && unzip $(f))
28 UNPACK_DIR = $(basename $(basename $(notdir $<)))
29 APPLY = (cd $(UNPACK_DIR) && patch -p1) <
30 MOVE = mv $(UNPACK_DIR) $@ && touch $@
38 yasm-$(YASM_VERSION).tar.gz:
39 $(download) $(YASM_URL)
41 yasm: yasm-$(YASM_VERSION).tar.gz
46 (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
51 DISTCLEAN_PKG += yasm-$(YASM_VERSION).tar.gz
55 cmake-$(CMAKE_VERSION).tar.gz:
56 $(download) $(CMAKE_URL)
58 cmake: cmake-$(CMAKE_VERSION).tar.gz
63 (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
68 DISTCLEAN_PKG += cmake-$(CMAKE_VERSION).tar.gz
72 libtool-$(LIBTOOL_VERSION).tar.gz:
73 $(download) $(LIBTOOL_URL)
75 libtool: libtool-$(LIBTOOL_VERSION).tar.gz
80 (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
81 ln -sf libtool $(PREFIX)/bin/glibtool
82 ln -sf libtoolize $(PREFIX)/bin/glibtoolize
86 DISTCLEAN_PKG += libtool-$(LIBTOOL_VERSION).tar.gz
87 CLEAN_FILE += .libtool
89 # GNU tar (with xz support)
91 tar-$(TAR_VERSION).tar.bz2:
92 $(download) $(TAR_URL)
94 tar: tar-$(TAR_VERSION).tar.bz2
99 (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
103 DISTCLEAN_PKG += tar-$(tar_VERSION).tar.bz2
108 xz-$(XZ_VERSION).tar.bz2:
109 $(download) $(XZ_URL)
111 xz: xz-$(XZ_VERSION).tar.bz2
116 (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
120 DISTCLEAN_PKG += xz-$(XZ_VERSION).tar.bz2
125 autoconf-$(AUTOCONF_VERSION).tar.bz2:
126 $(download) $(AUTOCONF_URL)
128 autoconf: autoconf-$(AUTOCONF_VERSION).tar.bz2
133 (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
136 CLEAN_FILE += .autoconf
137 CLEAN_PKG += autoconf
138 DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.bz2
142 automake-$(AUTOMAKE_VERSION).tar.gz:
143 $(download) $(AUTOMAKE_URL)
145 automake: automake-$(AUTOMAKE_VERSION).tar.gz
149 .automake: automake .autoconf
150 (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
153 CLEAN_FILE += .automake
154 CLEAN_PKG += automake
155 DISTCLEAN_PKG += automake-$(AUTOMAKE_VERSION).tar.gz
159 pkg-config-$(PKGCFG_VERSION).tar.gz:
160 $(download) $(PKGCFG_URL)
162 pkgconfig: pkg-config-$(PKGCFG_VERSION).tar.gz
167 .pkg-config: pkgconfig
168 (cd pkgconfig; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
171 CLEAN_FILE += .pkg-config
172 CLEAN_PKG += pkgconfig
173 DISTCLEAN_PKG += pkg-config-$(PKGCFG_VERSION).tar.gz
180 rm -fr $(CLEAN_FILE) $(CLEAN_PKG) build/
183 rm -fr $(DISTCLEAN_PKG)
185 .PHONY: all clean distclean