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