aboutsummaryrefslogtreecommitdiffstats
path: root/buildconfigs
diff options
context:
space:
mode:
authorcl349@freefall.cl.cam.ac.uk <cl349@freefall.cl.cam.ac.uk>2004-11-03 18:54:03 +0000
committercl349@freefall.cl.cam.ac.uk <cl349@freefall.cl.cam.ac.uk>2004-11-03 18:54:03 +0000
commit81322d7eefbcaeab52da5a1c584b17703a78d2f4 (patch)
tree3a84034c3ea895801745cfb95d8b4d0d950c351c /buildconfigs
parent129eeeb2355df53999040179046df7cc79f637bd (diff)
downloadxen-81322d7eefbcaeab52da5a1c584b17703a78d2f4.tar.gz
xen-81322d7eefbcaeab52da5a1c584b17703a78d2f4.tar.bz2
xen-81322d7eefbcaeab52da5a1c584b17703a78d2f4.zip
bitkeeper revision 1.1159.156.1 (4189294bhEVxhbLKBhFfQF071MOltw)
Build system cleanups.
Diffstat (limited to 'buildconfigs')
-rw-r--r--buildconfigs/Rules.mk112
-rw-r--r--buildconfigs/mk.linux-2.4-xen019
-rw-r--r--buildconfigs/mk.linux-2.4-xenU19
-rw-r--r--buildconfigs/mk.linux-2.6-xen019
-rw-r--r--buildconfigs/mk.linux-2.6-xenU19
-rw-r--r--buildconfigs/mk.netbsd-2.0-xenU32
6 files changed, 84 insertions, 136 deletions
diff --git a/buildconfigs/Rules.mk b/buildconfigs/Rules.mk
index 17826830f3..3c7194c2c6 100644
--- a/buildconfigs/Rules.mk
+++ b/buildconfigs/Rules.mk
@@ -1,80 +1,68 @@
# We expect these two to already be set if people
# are using the top-level Makefile
-DIST_DIR ?= $(shell pwd)/dist
-INSTALL_DIR ?= $(DIST_DIR)/install
+DIST_DIR ?= $(shell pwd)/dist
+INSTALL_DIR ?= $(DIST_DIR)/install
+.PHONY: mkpatches mrproper
-# Figure out which Linux version
-LINUX_26VER ?= $(shell ( /bin/ls -ld linux-2.6.*-xen-sparse ) \
- 2>/dev/null | sed -e 's!^.*linux-\(.\+\)-xen-sparse!\1!' )
-LINUX_24VER ?= $(shell ( /bin/ls -ld linux-2.4.*-xen-sparse ) \
- 2>/dev/null | sed -e 's!^.*linux-\(.\+\)-xen-sparse!\1!' )
-LINUX_SRC_PATH ?= .:..
+# Expand Linux series to Linux version
+LINUX_SERIES ?= 2.6
+LINUX_VER ?= $(patsubst linux-%-xen-sparse,%,$(wildcard linux-$(LINUX_SERIES)*-xen-sparse))
-LINUX_26SRC ?= $(firstword $(foreach dir,$(subst :, ,$(LINUX_SRC_PATH)),\
- $(wildcard $(dir)/linux-$(LINUX_26VER).tar.*z*)))
+# Setup Linux search patch
+LINUX_SRC_PATH ?= .:..
+vpath linux-%.tar.bz2 $(LINUX_SRC_PATH)
-LINUX_24SRC ?= $(firstword $(foreach dir,$(subst :, ,$(LINUX_SRC_PATH)),\
- $(wildcard $(dir)/linux-$(LINUX_24VER).tar.*z*)))
+# download a pristine Linux kernel tarball if there isn't one in LINUX_SRC_PATH
+linux-%.tar.bz2: override _LINUX_VDIR = $(word 1,$(subst ., ,$*)).$(word 2,$(subst ., ,$*))
+linux-%.tar.bz2:
+ echo "Cannot find linux-$*.tar.bz2 in path $(LINUX_SRC_PATH)"
+ wget http://www.kernel.org/pub/linux/kernel/v$(_LINUX_VDIR)/linux-$*.tar.bz2 -O./$@
-.PHONY: mkpatches linux-$(LINUX_24VER)-xen.patch linux-$(LINUX_26VER)-xen.patch mrproper
-# search for a pristine kernel tar ball, or try downloading one
-linux-$(LINUX_26VER).tar.bz2:
-ifeq ($(LINUX_26SRC),)
- echo "Cannot find linux-$(LINUX_26VER).tar.bz2 in path $(LINUX_SRC_PATH)"
- wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-$(LINUX_26VER).tar.bz2 -O./linux-$(LINUX_26VER).tar.bz2
-LINUX_26SRC := ./linux-$(LINUX_26VER).tar.bz2
-endif
-pristine-linux-$(LINUX_26VER): $(LINUX_26SRC)
- rm -rf tmp-linux-$(LINUX_26VER) $@ && \
- mkdir -p tmp-linux-$(LINUX_26VER) && \
- tar -C tmp-linux-$(LINUX_26VER) -jxf $(LINUX_26SRC) && \
- mv tmp-linux-$(LINUX_26VER)/* $@
- touch $@ # update timestamp to avoid rebuild
- @rm -rf tmp-linux-$(LINUX_26VER)
-
-
-# search for a pristine kernel tar ball, or try downloading one
-linux-$(LINUX_24VER).tar.bz2:
-ifeq ($(LINUX_24SRC),)
- echo "Cannot find linux-$(LINUX_24VER).tar.bz2 in path $(LINUX_SRC_PATH)"
- wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-$(LINUX_24VER).tar.bz2 -O./linux-$(LINUX_24VER).tar.bz2
-LINUX_24SRC := ./linux-$(LINUX_24VER).tar.bz2
-endif
-
-pristine-linux-$(LINUX_24VER): $(LINUX_24SRC)
- rm -rf tmp-linux-$(LINUX_24VER) $@ && \
- mkdir -p tmp-linux-$(LINUX_24VER) && \
- tar -C tmp-linux-$(LINUX_24VER) -jxf $(LINUX_24SRC) && \
- mv tmp-linux-$(LINUX_24VER)/* $@ && \
- touch $@ # update timestamp to avoid rebuild
- @rm -rf tmp-linux-$(LINUX_24VER)
+# Expand NetBSD release to NetBSD version
+NETBSD_RELEASE ?= 2.0
+NETBSD_VER ?= $(patsubst netbsd-%-xen-sparse,%,$(wildcard netbsd-$(NETBSD_RELEASE)*-xen-sparse))
+NETBSD_CVSSNAP ?= 20040906
-linux-$(LINUX_24VER)-xen.patch: pristine-linux-$(LINUX_24VER)
- rm -rf tmp-$@
- cp -al pristine-linux-$(LINUX_24VER) tmp-$@
- ( cd linux-$(LINUX_24VER)-xen-sparse ; \
- ./mkbuildtree ../tmp-$@ )
- diff -Nurp pristine-linux-$(LINUX_24VER) tmp-$@ > $@ || true
- rm -rf tmp-$@
+# Setup NetBSD search patch
+NETBSD_SRC_PATH ?= .:..
+vpath netbsd-%.tar.bz2 $(NETBSD_SRC_PATH)
+
+# download a pristine NetBSD tarball if there isn't one in NETBSD_SRC_PATH
+netbsd-%-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2:
+ echo "Cannot find $@ in path $(NETBSD_SRC_PATH)"
+ wget http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/netbsd-$(NETBSD_VER)-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2 -O./$@
+
+netbsd-%.tar.bz2: netbsd-%-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2
+ ln -fs $< $@
+
+
+
+
+pristine-%: %.tar.bz2
+ rm -rf tmp-$* $@ && \
+ mkdir -p tmp-$* && \
+ tar -C tmp-$* -jxf $< && \
+ mv tmp-$*/* $@
+ touch $@ # update timestamp to avoid rebuild
+ @rm -rf tmp-$*
-linux-$(LINUX_26VER)-xen.patch: pristine-linux-$(LINUX_26VER)
+%-xen.patch: pristine-%
rm -rf tmp-$@
- cp -al pristine-linux-$(LINUX_26VER) tmp-$@
- ( cd linux-$(LINUX_26VER)-xen-sparse ; \
- ./mkbuildtree ../tmp-$@ )
- diff -Nurp pristine-linux-$(LINUX_26VER) tmp-$@ > $@ || true
+ cp -al pristine-$* tmp-$@
+ ( cd $*-xen-sparse && ./mkbuildtree ../tmp-$@ )
+ diff -Nurp pristine-$* tmp-$@ > $@ || true
rm -rf tmp-$@
-mkpatches: linux-$(LINUX_24VER)-xen.patch linux-$(LINUX_26VER)-xen.patch
+%-mrproper:
+ rm -rf pristine-$* $*.tar.bz2
+ rm -rf $*-xen.patch
+ rm -rf $*-tools $*-tools.tar.bz2
-mrproper:
- rm -rf pristine-linux-$(LINUX_24VER) linux-$(LINUX_24VER).tar.bz2
- rm -rf pristine-linux-$(LINUX_26VER) linux-$(LINUX_26VER).tar.bz2
- rm -rf linux-$(LINUX_24VER)-xen.patch linux-$(LINUX_26VER)-xen.patch
- rm -rf pristine-netbsd-2.0 netbsd-2.0-tools
+# never delete any intermediate files.
+.SECONDARY:
diff --git a/buildconfigs/mk.linux-2.4-xen0 b/buildconfigs/mk.linux-2.4-xen0
index 713b746c03..c83291324e 100644
--- a/buildconfigs/mk.linux-2.4-xen0
+++ b/buildconfigs/mk.linux-2.4-xen0
@@ -1,7 +1,9 @@
+LINUX_SERIES = 2.4
+
EXTRAVERSION = xen0
-FULLVERSION = $(LINUX_24VER)-$(EXTRAVERSION)
+FULLVERSION = $(LINUX_VER)-$(EXTRAVERSION)
LINUX_DIR = linux-$(FULLVERSION)
@@ -19,11 +21,11 @@ patches/ebtables.diff:
mkdir -p patches
wget http://www.cl.cam.ac.uk/netos/xen/downloads/ebtables-brnf-5_vs_2.4.27.diff.gz -O- | gunzip -c > $@
-$(LINUX_DIR): pristine-linux-$(LINUX_24VER) patches/ebtables.diff
+$(LINUX_DIR): pristine-linux-$(LINUX_VER) patches/ebtables.diff
rm -rf $(LINUX_DIR)
- cp -al pristine-linux-$(LINUX_24VER) $(LINUX_DIR)
+ cp -al pristine-linux-$(LINUX_VER) $(LINUX_DIR)
# Apply arch-xen patches
- ( cd linux-$(LINUX_24VER)-xen-sparse ; \
+ ( cd linux-$(LINUX_VER)-xen-sparse ; \
./mkbuildtree ../$(LINUX_DIR) )
# Patch kernel Makefile to set EXTRAVERSION
( cd $(LINUX_DIR) ; \
@@ -40,11 +42,4 @@ clean:
$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
delete:
- rm -rf tmp-linux-$(LINUX_24VER) $(LINUX_DIR)
-
-
-
-
-
-
-
+ rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR)
diff --git a/buildconfigs/mk.linux-2.4-xenU b/buildconfigs/mk.linux-2.4-xenU
index 7099d12c20..c1afc93708 100644
--- a/buildconfigs/mk.linux-2.4-xenU
+++ b/buildconfigs/mk.linux-2.4-xenU
@@ -1,7 +1,9 @@
+LINUX_SERIES = 2.4
+
EXTRAVERSION = xenU
-FULLVERSION = $(LINUX_24VER)-$(EXTRAVERSION)
+FULLVERSION = $(LINUX_VER)-$(EXTRAVERSION)
LINUX_DIR = linux-$(FULLVERSION)
@@ -19,11 +21,11 @@ patches/ebtables.diff:
mkdir -p patches
wget http://www.cl.cam.ac.uk/netos/xen/downloads/ebtables-brnf-5_vs_2.4.27.diff.gz -O- | gunzip -c > $@
-$(LINUX_DIR): pristine-linux-$(LINUX_24VER) patches/ebtables.diff
+$(LINUX_DIR): pristine-linux-$(LINUX_VER) patches/ebtables.diff
rm -rf $(LINUX_DIR)
- cp -al pristine-linux-$(LINUX_24VER) $(LINUX_DIR)
+ cp -al pristine-linux-$(LINUX_VER) $(LINUX_DIR)
# Apply arch-xen patches
- ( cd linux-$(LINUX_24VER)-xen-sparse ; \
+ ( cd linux-$(LINUX_VER)-xen-sparse ; \
./mkbuildtree ../$(LINUX_DIR) )
# Patch kernel Makefile to set EXTRAVERSION
( cd $(LINUX_DIR) ; \
@@ -38,11 +40,4 @@ clean:
$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
delete:
- rm -rf tmp-linux-$(LINUX_24VER) $(LINUX_DIR)
-
-
-
-
-
-
-
+ rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR)
diff --git a/buildconfigs/mk.linux-2.6-xen0 b/buildconfigs/mk.linux-2.6-xen0
index 18e315ef71..67a5c7b3a8 100644
--- a/buildconfigs/mk.linux-2.6-xen0
+++ b/buildconfigs/mk.linux-2.6-xen0
@@ -1,7 +1,9 @@
+LINUX_SERIES = 2.6
+
EXTRAVERSION = xen0
-FULLVERSION = $(LINUX_26VER)-$(EXTRAVERSION)
+FULLVERSION = $(LINUX_VER)-$(EXTRAVERSION)
LINUX_DIR = linux-$(FULLVERSION)
@@ -15,11 +17,11 @@ build: $(LINUX_DIR)
$(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(INSTALL_DIR) install
# The real action starts here!
-$(LINUX_DIR): pristine-linux-$(LINUX_26VER)
+$(LINUX_DIR): pristine-linux-$(LINUX_VER)
rm -rf $(LINUX_DIR)
- cp -al pristine-linux-$(LINUX_26VER) $(LINUX_DIR)
+ cp -al pristine-linux-$(LINUX_VER) $(LINUX_DIR)
# Apply arch-xen patches
- ( cd linux-$(LINUX_26VER)-xen-sparse ; \
+ ( cd linux-$(LINUX_VER)-xen-sparse ; \
./mkbuildtree ../$(LINUX_DIR) )
# Patch kernel Makefile to set EXTRAVERSION
( cd $(LINUX_DIR) ; \
@@ -33,11 +35,4 @@ clean:
$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
delete:
- rm -rf tmp-linux-$(LINUX_26VER) $(LINUX_DIR)
-
-
-
-
-
-
-
+ rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR)
diff --git a/buildconfigs/mk.linux-2.6-xenU b/buildconfigs/mk.linux-2.6-xenU
index c52d76be26..6782cf07b7 100644
--- a/buildconfigs/mk.linux-2.6-xenU
+++ b/buildconfigs/mk.linux-2.6-xenU
@@ -1,7 +1,9 @@
+LINUX_SERIES = 2.6
+
EXTRAVERSION = xenU
-FULLVERSION = $(LINUX_26VER)-$(EXTRAVERSION)
+FULLVERSION = $(LINUX_VER)-$(EXTRAVERSION)
LINUX_DIR = linux-$(FULLVERSION)
@@ -16,11 +18,11 @@ build: $(LINUX_DIR)
$(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(INSTALL_DIR) install
-$(LINUX_DIR): pristine-linux-$(LINUX_26VER)
+$(LINUX_DIR): pristine-linux-$(LINUX_VER)
rm -rf $(LINUX_DIR)
- cp -al pristine-linux-$(LINUX_26VER) $(LINUX_DIR)
+ cp -al pristine-linux-$(LINUX_VER) $(LINUX_DIR)
# Apply arch-xen patches
- ( cd linux-$(LINUX_26VER)-xen-sparse ; \
+ ( cd linux-$(LINUX_VER)-xen-sparse ; \
./mkbuildtree ../$(LINUX_DIR) )
# Patch kernel Makefile to set EXTRAVERSION
( cd $(LINUX_DIR) ; \
@@ -34,11 +36,4 @@ clean:
$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
delete:
- rm -rf tmp-linux-$(LINUX_26VER) $(LINUX_DIR)
-
-
-
-
-
-
-
+ rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR)
diff --git a/buildconfigs/mk.netbsd-2.0-xenU b/buildconfigs/mk.netbsd-2.0-xenU
index 0e2ae60faa..53e02b739f 100644
--- a/buildconfigs/mk.netbsd-2.0-xenU
+++ b/buildconfigs/mk.netbsd-2.0-xenU
@@ -1,5 +1,6 @@
NETBSD_RELEASE ?= 2.0
+NETBSD_CVSSNAP ?= 20040906
EXTRAVERSION = xenU
@@ -11,40 +12,19 @@ NETBSD_DIR = netbsd-$(FULLVERSION)
include buildconfigs/Rules.mk
-NETBSD_VER ?= $(shell ( /bin/ls -ld netbsd-$(NETBSD_RELEASE)*-xen-sparse ) 2>/dev/null | \
- sed -e 's!^.*netbsd-\(.\+\)-xen-sparse!\1!' )
-NETBSD_CVSSNAP ?= 20040906
-NETBSD_SRC_PATH ?= .:..
-NETBSD_SRC ?= $(firstword $(foreach dir,$(subst :, ,$(NETBSD_SRC_PATH)),\
- $(wildcard $(dir)/netbsd-$(NETBSD_VER)-xen-kernel-$(NETBSD_CVSSNAP).tar.*z*)))
-NETBSD_TOOLS_SRC ?= $(firstword $(foreach dir,$(subst :, ,$(NETBSD_SRC_PATH)),\
- $(wildcard $(dir)/netbsd-$(NETBSD_VER)-tools.tar.*z*)))
-
build: $(NETBSD_DIR) netbsd-$(EXTRAVERSION)
-netbsd-$(NETBSD_VER)-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2:
-ifeq ($(NETBSD_SRC),)
- @echo "Cannot find netbsd-$(NETBSD_VER)-xen-kernel-$(NETBSD_CVSSNAP).tar.gz in path $(NETBSD_SRC_PATH)"
- @wget http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/netbsd-$(NETBSD_VER)-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2 -O./netbsd-$(NETBSD_VER)-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2
-NETBSD_SRC := ./netbsd-$(NETBSD_VER)-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2
-endif
-
-pristine-netbsd-$(NETBSD_VER): $(NETBSD_SRC)
- rm -rf tmp-netbsd-$(NETBSD_VER) $@ && \
- mkdir -p tmp-netbsd-$(NETBSD_VER) && \
- tar -C tmp-netbsd-$(NETBSD_VER) -jxf $(NETBSD_SRC) && \
- mv tmp-netbsd-$(NETBSD_VER)/* $@
- touch $@ # update timestamp to avoid rebuild
- @rm -rf tmp-netbsd-$(NETBSD_VER)
+NETBSD_TOOLS_SRC ?= $(firstword $(foreach dir,$(subst :, ,$(NETBSD_SRC_PATH)),\
+ $(wildcard $(dir)/netbsd-$(NETBSD_VER)-tools.tar.*z*)))
-pristine-netbsd-tools-src:
+netbsd-tools-src:
ifeq ($(NETBSD_TOOLS_SRC),)
@echo "Cannot find netbsd-$(NETBSD_VER)-tools.tar.gz in path $(NETBSD_SRC_PATH)"
@wget http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/netbsd-$(NETBSD_VER)-tools.tar.bz2 -O./netbsd-$(NETBSD_VER)-tools.tar.bz2
NETBSD_TOOLS_SRC := ./netbsd-$(NETBSD_VER)-tools.tar.bz2
endif
-netbsd-tools: pristine-netbsd-tools-src
+netbsd-tools: netbsd-tools-src
@[ -d netbsd-$(NETBSD_RELEASE)-tools ] || { \
echo extract $(NETBSD_TOOLS_SRC); \
tar -jxf $(NETBSD_TOOLS_SRC); }
@@ -60,7 +40,7 @@ $(NETBSD_DIR): netbsd-tools pristine-netbsd-$(NETBSD_VER)
netbsd-xen%:
$(MAKE) -C netbsd-$(FULLVERSION) config
$(MAKE) -C netbsd-$(FULLVERSION) netbsd
- $(MAKE) -C netbsd-$(FULLVERSION) INSTALL_PATH=$(INSTALL_DIR) INSTALL_NAME=boot/netbsd-$(NETBSD_VER)-$(subst netbsd-,,$@) install
+ $(MAKE) -C netbsd-$(FULLVERSION) INSTALL_PATH=$(INSTALL_DIR) INSTALL_NAME=boot/netbsd-$(NETBSD_VER)-xen$* install
clean:
$(MAKE) -C netbsd-$(FULLVERSION) clean