331ed561bd79c5a7bd1332bd4a25e53c1fc66cbb
[mkinitrd.git] / Makefile
1 # $Id$
2 # $URL$
3 #
4 WEBFETCH                := wget
5 SHA1SUM                 := sha1sum
6
7 ALL                     += mkinitrd
8 mkinitrd-URL            := http://build.planet-lab.org/third-party/mkinitrd-5.1.19.6-61.src.rpm
9 mkinitrd-SHA1SUM        := 95acddd474efbee0c13b5b25b55dbf913c00a8db
10 mkinitrd                := $(notdir $(mkinitrd-URL))
11
12 PWD=$(shell pwd)
13
14 all: $(ALL)
15 .PHONY: all
16
17 ##############################
18 define download_target
19 $(1): $($(1))
20 .PHONY: $($(1))
21 $($(1)): 
22         @if [ ! -e "$($(1))" ] ; then echo "$(WEBFETCH) $($(1)-URL)" ; $(WEBFETCH) $($(1)-URL) ; fi
23         @if [ ! -e "$($(1))" ] ; then echo "Could not download source file: $($(1)) does not exist" ; exit 1 ; fi
24         @if test "$$$$($(SHA1SUM) $($(1)) | awk '{print $$$$1}')" != "$($(1)-SHA1SUM)" ; then \
25             echo "sha1sum of the downloaded $($(1)) does not match the one from 'Makefile'" ; \
26             echo "Local copy: $$$$($(SHA1SUM) $($(1)))" ; \
27             echo "In Makefile: $($(1)-SHA1SUM)" ; \
28             false ; \
29         else \
30             ls -l $($(1)) ; \
31         fi
32 endef
33
34 $(eval $(call download_target,mkinitrd))
35
36 sources: $(ALL) 
37 .PHONY: sources
38
39 ####################
40 # default - overridden by the build
41 SPECFILE = mkinitrd.spec
42
43 PWD=$(shell pwd)
44 PREPARCH ?= noarch
45 RPMDIRDEFS = --define "_sourcedir $(PWD)/SOURCES" --define "_builddir $(PWD)" --define "_srcrpmdir $(PWD)" --define "_rpmdir $(PWD)"
46 trees: sources
47         rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps -bp --target $(PREPARCH) $(SPECFILE)
48
49 srpm: sources
50         mkdir -p SOURCES SRPMS
51         (cd SOURCES; rpm2cpio ../mkinitrd-5.1.19.6-61.src.rpm | cpio -diu; \
52         cp ../$(notdir $(SPECFILE)) .;cp ../*.patch .)  
53         ./rpmmacros.sh
54         export HOME=$(shell pwd) ; rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps -bs $(SPECFILE)
55
56 TARGET ?= $(shell uname -m)
57 rpm: sources
58         rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps --target $(TARGET) -bb $(SPECFILE)
59
60 clean:
61         rm -f *.rpm *.tgz *.bz2 *.gz
62
63 ++%: varname=$(subst +,,$@)
64 ++%:
65         @echo "$(varname)=$($(varname))"
66 +%: varname=$(subst +,,$@)
67 +%:
68         @echo "$($(varname))"