4 rpms
[omf.git] / Makefile
1 # $Id: Makefile 16421 2010-01-04 11:29:55Z thierry $
2 # $URL: svn+ssh://thierry@svn.planet-lab.org/svn/madwifi/trunk/Makefile $
3 #
4 WEBFETCH                := curl -H Pragma: -O -R -S --fail --show-error
5 SHA1SUM                 := sha1sum
6
7 ALL += omf-resctl
8 omf-resctl-URL          := http://pkg.mytestbed.net/yum/base/8/i386/omf-resctl-5.3-1ubuntu2-2.noarch.rpm
9 omf-resctl-SHA1SUM      := 6f48dd1cb7505ba9301c55f9889fd78842510b68
10 omf-resctl              := $(notdir $(omf-resctl-URL))
11 ALL += omf-common
12 omf-common-URL          := http://pkg.mytestbed.net/yum/base/8/i386/omf-common-5.3-1ubuntu3-2.noarch.rpm
13 omf-common-SHA1SUM      := aceaca433ffa6b3ea2b8f62dd57fc739ed01c442
14 omf-common              := $(notdir $(omf-common-URL))
15 ALL += liblog4r
16 liblog4r-URL            := http://pkg.mytestbed.net/yum/base/8/i386/liblog4r-ruby1.8-1.2-1.noarch.rpm
17 liblog4r-SHA1SUM        := daf29f5e23665d835a922cb2dda693ba9aca4e07
18 liblog4r                := $(notdir $(liblog4r-URL))
19 ALL += libxmpp4r
20 libxmpp4r-URL           := http://pkg.mytestbed.net/yum/base/8/i386/libxmpp4r-ruby1.8-1.0-1.noarch.rpm
21 libxmpp4r-SHA1SUM       := 7db1a6260435aca494f9b5e36517568a7f63e5c8
22 libxmpp4r               := $(notdir $(libxmpp4r-URL))
23
24 all: $(ALL)
25 .PHONY: all
26
27 ##############################
28 define download_target
29 $(1): $($(1))
30 .PHONY: $($(1))
31 $($(1)): 
32         @if [ ! -e "$($(1))" ] ; then echo "$(WEBFETCH) $($(1)-URL)" ; $(WEBFETCH) $($(1)-URL) ; fi
33         @if [ ! -e "$($(1))" ] ; then echo "Could not download source file: $($(1)) does not exist" ; exit 1 ; fi
34         @if test "$$$$($(SHA1SUM) $($(1)) | awk '{print $$$$1}')" != "$($(1)-SHA1SUM)" ; then \
35             echo "sha1sum of the downloaded $($(1)) does not match the one from 'Makefile'" ; \
36             echo "Local copy: $$$$($(SHA1SUM) $($(1)))" ; \
37             echo "In Makefile: $($(1)-SHA1SUM)" ; \
38             false ; \
39         else \
40             ls -l $($(1)) ; \
41         fi
42 endef
43
44 $(eval $(call download_target,omf-resctl))
45 $(eval $(call download_target,omf-common))
46 $(eval $(call download_target,liblog4r))
47 $(eval $(call download_target,libxmpp4r))
48
49 #################### convenience, for debugging only
50 # make +foo : prints the value of $(foo)
51 # make ++foo : idem but verbose, i.e. foo=$(foo)
52 ++%: varname=$(subst +,,$@)
53 ++%:
54         @echo "$(varname)=$($(varname))"
55 +%: varname=$(subst +,,$@)
56 +%:
57         @echo "$($(varname))"