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