X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=Makefile;h=b4e0a602f78f2f463460e3f1563bc5e1e2d6d0f6;hb=a5a13b20320ccc8d62b09b97bfaff9c5ff43aea2;hp=604e8b6c9e6469d730d751fdee5e368b3ffae334;hpb=e463256d11740a4e0fae3b35d5263841398d232b;p=omf.git diff --git a/Makefile b/Makefile index 604e8b6..b4e0a60 100644 --- a/Makefile +++ b/Makefile @@ -1,50 +1,81 @@ -# $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 +REPO := http://pkg.mytestbed.net/rpm/5.3/f14/x86_64/ + +ALL += omf-resctl +omf-resctl-URL := $(REPO)/omf-resctl-5.3-1ubuntu11-2.noarch.rpm +omf-resctl-SHA1SUM := e1cbc5cd4d492da16dc95d2d51c0a0e87836919a +omf-resctl := $(notdir $(omf-resctl-URL)) +ALL += omf-common +omf-common-URL := $(REPO)/omf-common-5.3-1ubuntu10-2.noarch.rpm +omf-common-SHA1SUM := 9eb16107965ecc29bf54aca964ccfe898085c415 +omf-common := $(notdir $(omf-common-URL)) +ALL += liblog4r +liblog4r-URL := $(REPO)/liblog4r-ruby1.8-1.2-1.noarch.rpm +liblog4r-SHA1SUM := d79d8efb0e80655e3b80c1260433dd4537529064 +liblog4r := $(notdir $(liblog4r-URL)) +ALL += libxmpp4r +libxmpp4r-URL := $(REPO)/libxmpp4r-ruby1.8-1.0-1.noarch.rpm +libxmpp4r-SHA1SUM := 29c985034d45d5aad8de4b1b87e9f4b753593e2a +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-1ubuntu13-2.noarch.rpm +omf-expctl-SHA1SUM := 44ea2bc89af5198d1a9f3d2d94bc3eeb93c30c7f +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))"