# WEBFETCH := curl -H Pragma: -O -R -S --fail --show-error SHA1SUM := sha1sum #http://pkg.mytestbed.net/rpm/5.3/f14/noarch/ and x86_64 REPO := http://mirror.onelab.eu/third-party/omf-5.3-federation-v1.3 ALL += omf-resctl omf-resctl-URL := $(REPO)/omf-resctl-5.3-5.3.1-1.noarch.rpm omf-resctl-SHA1SUM := 7dcac5c8b0942566d2f0a503ce28126e79e60dbb omf-resctl := $(notdir $(omf-resctl-URL)) ALL += omf-common omf-common-URL := $(REPO)/omf-common-5.3-5.3.1-1.noarch.rpm omf-common-SHA1SUM := fa7df2e9513f165856699aeceff7d044dd709729 omf-common := $(notdir $(omf-common-URL)) ALL += liblog4r liblog4r-URL := $(REPO)/liblog4r-ruby1.8-1.2-1.noarch.rpm liblog4r-SHA1SUM := 32809abc26d26d9341a3bf14169701818ec61c5f liblog4r := $(notdir $(liblog4r-URL)) ALL += libxmpp4r libxmpp4r-URL := $(REPO)/libxmpp4r-ruby1.8-1.0-1.noarch.rpm libxmpp4r-SHA1SUM := 6847f8a74e7f1e54af76f0cedd6d7582011fa037 libxmpp4r := $(notdir $(libxmpp4r-URL)) ALL += omf-expctl omf-expctl-URL := $(REPO)/omf-expctl-5.3-5.3.1-1.noarch.rpm omf-expctl-SHA1SUM := 10ffd10a56c93db4d909cdb4e720f845ab11cf72 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 $(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,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))"