use a secondary server at onelab to download sources
[drupal.git] / Makefile
1 #
2 WEBFETCH := curl -H Pragma: -O -R -S --fail --show-error
3 SHA1SUM  := sha1sum
4
5 version=4.7.11
6
7 ALL             += drupal
8 drupal-URL1     := http://ftp.drupal.org/files/projects/drupal-$(version).tar.gz
9 drupal-URL2     := http://mirror.onelab.eu/third-party/drupal-$(version).tar.gz
10 drupal-SHA1SUM  := c9f767e6c2cd873c4b0bef1986e2821febfc7e34
11 drupal          := $(notdir $(drupal-URL1))
12
13 ALL             += taxo
14 taxo-URL1       := http://build.planet-lab.org/third-party/taxonomy_block-4.7.x-1.x-dev.tar.gz
15 taxo-URL2       := http://mirror.onelab.eu/third-party/taxonomy_block-4.7.x-1.x-dev.tar.gz
16 taxo-SHA1SUM    := 9d926df1695c0092a74446154b00579d4ccbcb60
17 taxo            := $(notdir $(taxo-URL1))
18
19 all: $(ALL)
20 .PHONY: all
21
22 ##############################
23 define download_target
24 $(1): $($(1))
25 .PHONY: $(1)
26 $($(1)): 
27         @if [ ! -e "$($(1))" ] ; then \
28         { echo Using primary; echo "$(WEBFETCH) $($(1)-URL1)" ; $(WEBFETCH) $($(1)-URL1) ; } || \
29         { echo Using secondary; echo "$(WEBFETCH) $($(1)-URL2)" ; $(WEBFETCH) $($(1)-URL2) ; } ; fi
30         @if [ ! -e "$($(1))" ] ; then echo "Could not download source file: $($(1)) does not exist" ; exit 1 ; fi
31         @if test "$$$$($(SHA1SUM) $($(1)) | awk '{print $$$$1}')" != "$($(1)-SHA1SUM)" ; then \
32             echo "sha1sum of the downloaded $($(1)) does not match the one from 'Makefile'" ; \
33             echo "Local copy: $$$$($(SHA1SUM) $($(1)))" ; \
34             echo "In Makefile: $($(1)-SHA1SUM)" ; \
35             false ; \
36         else \
37             ls -l $($(1)) ; \
38         fi
39 endef
40
41 $(eval $(call download_target,drupal))
42 $(eval $(call download_target,taxo))
43
44 sources: $(ALL) 
45 .PHONY: sources
46
47 ####################
48 # default - overridden by the build
49 SPECFILE = drupal.spec
50
51 PWD=$(shell pwd)
52 PREPARCH ?= noarch
53 RPMDIRDEFS = --define "_sourcedir $(PWD)" --define "_builddir $(PWD)" --define "_srcrpmdir $(PWD)" --define "_rpmdir $(PWD)"
54 trees: sources
55         rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps -bp --target $(PREPARCH) $(SPECFILE)
56
57 srpm: sources
58         rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps -bs $(SPECFILE)
59
60 TARGET ?= $(shell uname -m)
61 rpm: sources
62         rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps --target $(TARGET) -bb $(SPECFILE)
63
64 clean:
65         rm -f *.rpm *.tgz *.bz2 *.gz
66
67 ++%: varname=$(subst +,,$@)
68 ++%:
69         @echo "$(varname)=$($(varname))"
70 +%: varname=$(subst +,,$@)
71 +%:
72         @echo "$($(varname))"