- per Thierry's suggestions, separate out PlanetLab-specific pieces into
[build.git] / Makefile
1 #
2 # PlanetLab RPM generation
3 #
4 # Mark Huang <mlhuang@cs.princeton.edu>
5 # Copyright (C) 2003-2006 The Trustees of Princeton University
6 #
7 # $Id: Makefile,v 1.84 2006/02/22 21:42:37 mlhuang Exp $
8 #
9
10 # Default target
11 all:
12
13 # Default values. If TAG is HEAD, a %{date} variable will be defined
14 # in the generated spec file.
15 TAG := HEAD
16 CVSROOT := :pserver:anon@cvs.planet-lab.org:/cvs
17 RPMBUILD := rpmbuild
18 CVS_RSH := ssh
19
20 # By default, the naming convention for built RPMS is
21 # <name>-<version>-<release>.<PLDISTRO>.<arch>.rpm
22 # Set PLDISTRO on the command line to differentiate between downstream
23 # variants.
24 PLDISTRO := planetlab
25
26 include $(PLDISTRO).mk
27
28 ifeq ($(findstring $(package),$(ALL)),)
29
30 # Build all packages
31 all: $(ALL)
32
33 # Recurse
34 $(ALL):
35         $(MAKE) package=$@
36
37 # Remove files generated by this package
38 $(foreach package,$(ALL),$(package)-clean): %-clean:
39         $(MAKE) package=$* clean
40
41 # Remove all generated files
42 clean:
43         rm -rf BUILD RPMS SOURCES SPECS SRPMS .rpmmacros tmp parseSpec
44
45 .PHONY: all $(ALL) $(foreach package,$(ALL),$(package)-clean) clean
46
47 else
48
49 # Define variables for Rules.mk
50 CVSROOT := $(if $($(package)-CVSROOT),$($(package)-CVSROOT),$(CVSROOT))
51 TAG := $(if $($(package)-TAG),$($(package)-TAG),$(TAG))
52 MODULE := $($(package)-MODULE)
53 SPEC := $($(package)-SPEC)
54 RPMFLAGS := $($(package)-RPMFLAGS)
55 RPMBUILD := $(if $($(package)-RPMBUILD),$($(package)-RPMBUILD),$(RPMBUILD))
56 CVS_RSH := $(if $($(package)-CVS_RSH),$($(package)-CVS_RSH),$(CVS_RSH))
57
58 include Rules.mk
59
60 endif