X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=Makefile;h=5caf8aebddc351f59e3ca115babce95f1f61a0cb;hb=59170d84ce22501ae26bfbb716cb51ca7506cd1a;hp=604e8b6c9e6469d730d751fdee5e368b3ffae334;hpb=e463256d11740a4e0fae3b35d5263841398d232b;p=omf.git diff --git a/Makefile b/Makefile index 604e8b6..5caf8ae 100644 --- a/Makefile +++ b/Makefile @@ -1,50 +1,82 @@ # $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 - -# default - overridden by the build -SPECFILE = omf-resctl.spec - -main.URL := http://pkg.mytestbed.net/yum/base/8/i386/omf-resctl-5.3-1ubuntu2-2.noarch.rpm -main.SHA1SUM := 6f48dd1cb7505ba9301c55f9889fd78842510b68 -main.FILE := $(notdir $(main.URL)) - -# Thierry - when called from within the build, PWD is /build -SOURCEFILES := $(main.FILE) - -$(main.FILE): #FORCE - @if [ ! -e "$@" ] ; then echo "$(WEBFETCH) $(main.URL)" ; $(WEBFETCH) $(main.URL) ; fi - @if [ ! -e "$@" ] ; then echo "Could not download source file: $@ does not exist" ; exit 1 ; fi - @if test "$$(sha1sum $@ | awk '{print $$1}')" != "$(main.SHA1SUM)" ; then \ - echo "sha1sum of the downloaded $@ does not match the one from 'Makefile'" ; \ - echo "Local copy: $$(sha1sum $@)" ; \ - echo "In Makefile: $(main.SHA1SUM)" ; \ - exit 1 ; \ +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/ +REPO := http://mirror.onelab.eu/third-party/omf-5.3-federation-v1.1 + +ALL += omf-resctl +omf-resctl-URL := $(REPO)/omf-resctl-5.3-1ubuntu7-2.noarch.rpm +omf-resctl-SHA1SUM := c757123d216e7a11ab971101d2e9fdf450dd301d +omf-resctl := $(notdir $(omf-resctl-URL)) +ALL += omf-common +omf-common-URL := $(REPO)/omf-common-5.3-1ubuntu6-2.noarch.rpm +omf-common-SHA1SUM := f79ecfc7e6bad69fa4b980c8e8ec3ea35723f83c +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-1ubuntu6-2.noarch.rpm +omf-expctl-SHA1SUM := 6db226d88849da4519bbdb19fd90dbfd1c2571e7 +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 $@ ; \ + ls -l $($(1)) ; \ fi +CLEAN += $($(1)) +endef -sources: $(SOURCEFILES) -.PHONY: sources +$(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)) -#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 +$(eval $(call download_target,omf-expctl)) + +clean: + rm -f $(CLEAN) +.PHONY: clean + +repobase:=$(subst http://pkg.mytestbed.net/,,$(subst /yum/base/8/i386/,,$(REPO))) +# this echoes a script that can be ran on the mirror +mirror: + @( echo mkdir -p $(repobase); echo cd $(repobase) ; \ + $(foreach target,$(ALL), echo curl -O $(REPO)/$($(target)) ; ) ) + +.PHONY: mirror +#################### 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))"