# $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 ALL += omf-resctl omf-resctl-URL := http://pkg.mytestbed.net/yum/base/8/i386/omf-resctl-5.3-1ubuntu2-2.noarch.rpm omf-resctl-SHA1SUM := 6f48dd1cb7505ba9301c55f9889fd78842510b68 omf-resctl := $(notdir $(omf-resctl-URL)) ALL += omf-common omf-common-URL := http://pkg.mytestbed.net/yum/base/8/i386/omf-common-5.3-1ubuntu3-2.noarch.rpm omf-common-SHA1SUM := aceaca433ffa6b3ea2b8f62dd57fc739ed01c442 omf-common := $(notdir $(omf-common-URL)) ALL += liblog4r liblog4r-URL := http://pkg.mytestbed.net/yum/base/8/i386/liblog4r-ruby1.8-1.2-1.noarch.rpm liblog4r-SHA1SUM := daf29f5e23665d835a922cb2dda693ba9aca4e07 liblog4r := $(notdir $(liblog4r-URL)) ALL += libxmpp4r libxmpp4r-URL := http://pkg.mytestbed.net/yum/base/8/i386/libxmpp4r-ruby1.8-1.0-1.noarch.rpm libxmpp4r-SHA1SUM := 7db1a6260435aca494f9b5e36517568a7f63e5c8 libxmpp4r := $(notdir $(libxmpp4r-URL)) ALL += imagezip imagezip-URL := http://pkg.mytestbed.net/yum/base/8/i386/imagezip-1.0.0-3.i386.rpm imagezip-SHA1SUM := b96297e480dfbc2360bcb62ff4ee130794124849 imagezip := $(notdir $(imagezip-URL)) ALL += omf-expctl omf-expctl-URL := http://pkg.mytestbed.net/yum/base/8/i386/omf-expctl-5.3-1ubuntu2-2.noarch.rpm omf-expctl-SHA1SUM := cb3fbc3e211c4cec48a55473ec3f1ba11caf487b 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 #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 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)) #################### 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))"