# WEBFETCH := wget SHA1SUM := sha1sum ALL += mod_python mod_python-URL1 := http://mirror.onelab.eu/third-party/mod_python-3.3.1.tgz mod_python-URL2 := http://planet-lab.org/third-party/mod_python-3.3.1.tgz mod_python-SHA1SUM := e538170fd78e09408b6d8593da980b126a0fef93 mod_python := $(notdir $(mod_python-URL1)) ############################## define download_target $(1): $($(1)) .PHONY: $(1) $($(1)): @if [ ! -e "$($(1))" ] ; then \ { echo Using primary; echo "$(WEBFETCH) $($(1)-URL1)" ; $(WEBFETCH) $($(1)-URL1) ; } || \ { echo Using secondary; echo "$(WEBFETCH) $($(1)-URL2)" ; $(WEBFETCH) $($(1)-URL2) ; } ; fi @if [ ! -e "$($(1))" ] ; then echo "Could not download source file: $($(1)) does not exist" ; exit 1 ; fi @if test "$$$$($(SHA1SUM) $($(1)) | awk '{print $$$$1}')" != "$($(1)-SHA1SUM)" ; then \ echo "sha1sum of the downloaded $($(1)) does not match the one from 'Makefile'" ; \ echo "Local copy: $$$$($(SHA1SUM) $($(1)))" ; \ echo "In Makefile: $($(1)-SHA1SUM)" ; \ false ; \ else \ ls -l $($(1)) ; \ fi endef $(eval $(call download_target,mod_python)) sources: $(ALL) .PHONY: sources #################### # default - overridden by the build SPECFILE = mod_python.spec PWD=$(shell pwd) PREPARCH ?= noarch RPMDIRDEFS = --define "_sourcedir $(PWD)" --define "_builddir $(PWD)" --define "_srcrpmdir $(PWD)" --define "_rpmdir $(PWD)" trees: sources rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps -bp --target $(PREPARCH) $(SPECFILE) srpm: sources rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps -bs $(SPECFILE) TARGET ?= $(shell uname -m) rpm: sources rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps --target $(TARGET) -bb $(SPECFILE) clean: rm -f *.rpm *.tgz *.bz2 *.gz ++%: varname=$(subst +,,$@) ++%: @echo "$(varname)=$($(varname))" +%: varname=$(subst +,,$@) +%: @echo "$($(varname))"