deprecated imagezip
[omf.git] / Makefile
1 #
2 WEBFETCH                := curl -H Pragma: -O -R -S --fail --show-error
3 SHA1SUM                 := sha1sum
4
5 #REPO :=        http://pkg.mytestbed.net/omf-5.3-federation-v1.1/yum/base/8/i386/
6 #REPO :=        http://mirror.onelab.eu/third-party/omf-5.3-federation-v1.1
7 REPO :=         http://pkg.mytestbed.net/rpm/5.3/f14/x86_64/
8
9 ALL += omf-resctl
10 omf-resctl-URL          := $(REPO)/omf-resctl-5.3-1ubuntu11-2.noarch.rpm
11 omf-resctl-SHA1SUM      := e1cbc5cd4d492da16dc95d2d51c0a0e87836919a
12 omf-resctl              := $(notdir $(omf-resctl-URL))
13 ALL += omf-common
14 omf-common-URL          := $(REPO)/omf-common-5.3-1ubuntu10-2.noarch.rpm
15 omf-common-SHA1SUM      := 9eb16107965ecc29bf54aca964ccfe898085c415
16 omf-common              := $(notdir $(omf-common-URL))
17 ALL += liblog4r
18 liblog4r-URL            := $(REPO)/liblog4r-ruby1.8-1.2-1.noarch.rpm
19 liblog4r-SHA1SUM        := d79d8efb0e80655e3b80c1260433dd4537529064
20 liblog4r                := $(notdir $(liblog4r-URL))
21 ALL += libxmpp4r
22 libxmpp4r-URL           := $(REPO)/libxmpp4r-ruby1.8-1.0-1.noarch.rpm
23 libxmpp4r-SHA1SUM       := 29c985034d45d5aad8de4b1b87e9f4b753593e2a
24 libxmpp4r               := $(notdir $(libxmpp4r-URL))
25 #ALL += imagezip
26 #imagezip-URL           := $(REPO)/imagezip-1.0.0-3.i386.rpm
27 #imagezip-SHA1SUM       := 88088ca0aed57edc2b6ad6acc65a0038486fe67e
28 #imagezip               := $(notdir $(imagezip-URL))
29
30 ALL += omf-expctl
31 omf-expctl-URL          := $(REPO)/omf-expctl-5.3-1ubuntu13-2.noarch.rpm
32 omf-expctl-SHA1SUM      := 44ea2bc89af5198d1a9f3d2d94bc3eeb93c30c7f
33 omf-expctl              := $(notdir $(omf-expctl-URL))
34
35 all: $(ALL)
36 .PHONY: all
37
38 ##############################
39 define download_target
40 $(1): $($(1))
41 .PHONY: $($(1))
42 $($(1)): 
43         @if [ ! -e "$($(1))" ] ; then echo "$(WEBFETCH) $($(1)-URL)" ; $(WEBFETCH) $($(1)-URL) ; fi
44         @if [ ! -e "$($(1))" ] ; then echo "Could not download source file: $($(1)) does not exist" ; exit 1 ; fi
45         @if test "$$$$($(SHA1SUM) $($(1)) | awk '{print $$$$1}')" != "$($(1)-SHA1SUM)" ; then \
46             echo "sha1sum of the downloaded $($(1)) does not match the one from 'Makefile'" ; \
47             echo "Local copy: $$$$($(SHA1SUM) $($(1)))" ; \
48             echo "In Makefile: $($(1)-SHA1SUM)" ; \
49             false ; \
50         else \
51             ls -l $($(1)) ; \
52         fi
53 CLEAN += $($(1))
54 endef
55
56 $(eval $(call download_target,omf-resctl))
57 $(eval $(call download_target,omf-common))
58 $(eval $(call download_target,liblog4r))
59 $(eval $(call download_target,libxmpp4r))
60 #$(eval $(call download_target,imagezip))
61
62 $(eval $(call download_target,omf-expctl))
63
64 clean:
65         rm -f $(CLEAN)
66 .PHONY: clean
67
68 repobase:=$(subst http://pkg.mytestbed.net/,,$(subst /yum/base/8/i386/,,$(REPO)))
69 # this echoes a script that can be ran on the mirror
70 mirror: 
71         @( echo mkdir -p $(repobase); echo cd $(repobase) ; \
72           $(foreach target,$(ALL), echo curl -O $(REPO)/$($(target)) ; ) )
73
74 .PHONY: mirror
75
76 #################### convenience, for debugging only
77 # make +foo : prints the value of $(foo)
78 # make ++foo : idem but verbose, i.e. foo=$(foo)
79 ++%: varname=$(subst +,,$@)
80 ++%:
81         @echo "$(varname)=$($(varname))"
82 +%: varname=$(subst +,,$@)
83 +%:
84         @echo "$($(varname))"