####################
# exported to spec files as plrelease
-PLANETLAB_RELEASE = 5.0
+PLANETLAB_RELEASE = 4.3
#
# Default values
# need to ignore result, kernel-headers cannot be uninstalled as glibc depends on it
RPM-UNINSTALL-DEVEL := rpm -e
+REMOTE-PLDISTROS="gnuradio"
+
#################### Makefile
# Default target
all:
RPMBUILD := rpmbuild
export CVS_RSH := ssh
-########## pldistro.mk holds PLDISTRO - it is generated at stage1 (see below)
+########## savedpldistro.mk holds PLDISTRO - it is generated at stage1 (see below)
ifeq "$(stage1)" ""
-include pldistro.mk
+include savedpldistro.mk
+endif
+
+# when re-running the nightly build after failure, we need to gather the former values
+# do this by running make stage1=skip +PLDISTRO
+ifeq "$(stage1)" "skip"
+include savedpldistro.mk
endif
#################### include onelab.mk
# use default if necessary
build-SVNPATH ?= $(default-build-SVNPATH)
+####################
+define remote_pldistro
+$(1).mk: config.$(1)/$(1).mk
+ @echo 'creating $(1) from config subdir'
+ cp config.$(1)/$(1).mk $(1).mk
+
+$(2).mk: config.$(1)/$(2).mk
+ @echo 'creating $(1) tags from config subdir'
+ cp config.$(1)/$(2).mk $(2).mk
+
+config.$(1)/$(1).mk: config.$(1)
+config.$(1)/$(2).mk: config.$(1)
+
+config.$(1): config.$(1).svnpath
+ @echo "Fetching details for pldistro $(1)"
+ svn export $(shell grep -v "^#" config.$(1).svnpath) config.$(1)
+
+DISTCLEANS += $(1).mk $(2).mk config.$(1)
+
+endef
+
+$(eval $(call remote_pldistro,gnuradio,gnuradio-tags))
+
########## stage1 and stage1iter
# extract specs and compute .mk files by running
# make stage1=true
# stores PLDISTRO in a file
# this is done at stage1. later run wont get confused
-pldistro.mk:
+savedpldistro.mk:
echo "PLDISTRO:=$(PLDISTRO)" > $@
echo "PLDISTROTAGS:=$(PLDISTROTAGS)" >> $@
echo "build-SVNPATH:=$(build-SVNPATH)" >> $@
echo "PERSONALITY:=$(PERSONALITY)" >> $@
echo "MAILTO:=$(MAILTO)" >> $@
echo "BASE:=$(BASE)" >> $@
+ echo "WEBPATH:=$(WEBPATH)" >> $@
+ echo "TESTBUILDURL:=$(TESTBUILDURL)" >> $@
+ echo "WEBROOT:=$(WEBROOT)" >> $@
-savepldistro: pldistro.mk
-.PHONY: savepldistro
+savedpldistro: savedpldistro.mk
+.PHONY: savedpldistro
# always refresh this
-all: savepldistro
+all: savedpldistro
#################### regular make
### brute force clean
distclean1:
- rm -rf pldistro.mk .rpmmacros spec2make header.spec SPECS MAKE
+ rm -rf savedpldistro.mk .rpmmacros spec2make header.spec SPECS MAKE $(DISTCLEANS)
distclean2:
rm -rf CODEBASES SOURCES BUILD RPMS SRPMS tmp
distclean: distclean1 distclean2
####################
tests_svnpath:
- @$(if $(TESTS_SVNPATH), echo $(TESTS_SVNPATH) > $@, \
+ @$(if $(tests-SVNPATH), echo $(tests-SVNPATH) > $@, \
echo "http://svn.planet-lab.org/svn/tests/trunk" > $@)
+
####################
help:
@echo "********** Run make in two stages:"