# $Id: Makefile 16421 2010-01-04 11:29:55Z thierry $ # $URL: svn+ssh://thierry@svn.planet-lab.org/svn/madwifi/trunk/Makefile $ # WEBFETCH := curl -H Pragma: -O -R -S --fail --show-error SHA1SUM := sha1sum REPO := http://pkg.mytestbed.net/omf-5.3-federation-v1.1/yum/base/8/i386/ ALL += omf-resctl omf-resctl-URL := $(REPO)/omf-resctl-5.3-1ubuntu2-2.noarch.rpm omf-resctl-SHA1SUM := 73f65d323088d4b1f3eaf6d22a652dbac40c10e9 omf-resctl := $(notdir $(omf-resctl-URL)) ALL += omf-common omf-common-URL := $(REPO)/omf-common-5.3-1ubuntu3-2.noarch.rpm omf-common-SHA1SUM := 1426245402343bc961984f7a243ea36e3415eecb omf-common := $(notdir $(omf-common-URL)) ALL += liblog4r liblog4r-URL := $(REPO)/liblog4r-ruby1.8-1.2-1.noarch.rpm liblog4r-SHA1SUM := 4301cc01e65fdd1c136356ea8735ef935d997ccc liblog4r := $(notdir $(liblog4r-URL)) ALL += libxmpp4r libxmpp4r-URL := $(REPO)/libxmpp4r-ruby1.8-1.0-1.noarch.rpm libxmpp4r-SHA1SUM := 3332f38a3de90a9e0947d50d48d955cb946eba35 libxmpp4r := $(notdir $(libxmpp4r-URL)) ALL += imagezip imagezip-URL := $(REPO)/imagezip-1.0.0-3.i386.rpm imagezip-SHA1SUM := 88088ca0aed57edc2b6ad6acc65a0038486fe67e imagezip := $(notdir $(imagezip-URL)) ALL += omf-expctl omf-expctl-URL := $(REPO)/omf-expctl-5.3-1ubuntu2-2.noarch.rpm omf-expctl-SHA1SUM := ed8da06921ddf6870ae20ab3673276ec611106ed omf-expctl := $(notdir $(omf-expctl-URL)) all: $(ALL) .PHONY: all ############################## define download_target $(1): $($(1)) .PHONY: $($(1)) $($(1)): @if [ ! -e "$($(1))" ] ; then echo "$(WEBFETCH) $($(1)-URL)" ; $(WEBFETCH) $($(1)-URL) ; 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 CLEAN += $($(1)) endef #define download_target #$(1): $($(1)) #.PHONY: $($(1)) #$($(1)): # @if [ ! -e "$($(1))" ] ; then echo "$(WEBFETCH) $($(1)-URL)" ; $(WEBFETCH) $($(1)-URL) ; 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)" ; \ # echo "Proceeding anyway .. " ; \ # ls -l $($(1)) ; \ # else \ # ls -l $($(1)) ; \ # fi #CLEAN += $($(1)) #endef $(eval $(call download_target,omf-resctl)) $(eval $(call download_target,omf-common)) $(eval $(call download_target,liblog4r)) $(eval $(call download_target,libxmpp4r)) $(eval $(call download_target,imagezip)) $(eval $(call download_target,omf-expctl)) clean: rm -f $(CLEAN) .PHONY: clean #################### convenience, for debugging only # make +foo : prints the value of $(foo) # make ++foo : idem but verbose, i.e. foo=$(foo) ++%: varname=$(subst +,,$@) ++%: @echo "$(varname)=$($(varname))" +%: varname=$(subst +,,$@) +%: @echo "$($(varname))"