diff options
author | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2004-11-02 22:21:07 +0000 |
---|---|---|
committer | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2004-11-02 22:21:07 +0000 |
commit | ee5293cc5f5a9f7f336b870264f5bb38b6eaff06 (patch) | |
tree | 5ac489e2a282cb48a41976d58bc795b3a6e5bb68 /buildconfigs | |
parent | 3910bfff7f6fb22cd747b10db846cd75211ad64a (diff) | |
download | xen-ee5293cc5f5a9f7f336b870264f5bb38b6eaff06.tar.gz xen-ee5293cc5f5a9f7f336b870264f5bb38b6eaff06.tar.bz2 xen-ee5293cc5f5a9f7f336b870264f5bb38b6eaff06.zip |
bitkeeper revision 1.1159.151.2 (41880853o8v3vRZnyX0vFPNvy-RJ8A)
Makefile improvements
Diffstat (limited to 'buildconfigs')
-rw-r--r-- | buildconfigs/Rules.mk | 64 | ||||
-rw-r--r-- | buildconfigs/linux-2.4-xen0 | 53 | ||||
-rw-r--r-- | buildconfigs/linux-2.4-xenU | 51 | ||||
-rw-r--r-- | buildconfigs/linux-2.6-xen0 | 45 | ||||
-rw-r--r-- | buildconfigs/linux-2.6-xenU | 45 |
5 files changed, 258 insertions, 0 deletions
diff --git a/buildconfigs/Rules.mk b/buildconfigs/Rules.mk new file mode 100644 index 0000000000..6f1caf7d67 --- /dev/null +++ b/buildconfigs/Rules.mk @@ -0,0 +1,64 @@ + +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 ?= .:.. + +LINUX_26SRC ?= $(firstword $(foreach dir,$(subst :, ,$(LINUX_SRC_PATH)),\ + $(wildcard $(dir)/linux-$(LINUX_26VER).tar.*z*))) + +LINUX_24SRC ?= $(firstword $(foreach dir,$(subst :, ,$(LINUX_SRC_PATH)),\ + $(wildcard $(dir)/linux-$(LINUX_24VER).tar.*z*))) + +.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 $@ && mkdir -p tmp && tar -C tmp -jxf $(LINUX_26SRC) && mv tmp/* $@ + touch $@ # update timestamp to avoid rebuild + + +# 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 $@ && mkdir -p tmp && tar -C tmp -jxf $(LINUX_24SRC) && mv tmp/* $@ + touch $@ # update timestamp to avoid rebuild + +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-$@ + +linux-$(LINUX_26VER)-xen.patch: pristine-linux-$(LINUX_26VER) + 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 + rm -rf tmp-$@ + +mkpatches: linux-$(LINUX_24VER)-xen.patch linux-$(LINUX_26VER)-xen.patch + +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
\ No newline at end of file diff --git a/buildconfigs/linux-2.4-xen0 b/buildconfigs/linux-2.4-xen0 new file mode 100644 index 0000000000..7f13f52109 --- /dev/null +++ b/buildconfigs/linux-2.4-xen0 @@ -0,0 +1,53 @@ + +EXTRAVERSION = xen0 + +FULLVERSION = $(LINUX_24VER)-$(EXTRAVERSION) + +LINUX_DIR = linux-$(FULLVERSION) + +.PHONY: build clean mrproper mkpatch + +include buildconfigs/Rules.mk + +.PHONY: build clean mrproper mkpatch + + +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 > $@ + +# The real action starts here! +$(LINUX_DIR): pristine-linux-$(LINUX_24VER) patches/ebtables.diff + rm -rf $(LINUX_DIR) + cp -al pristine-linux-$(LINUX_24VER) $(LINUX_DIR) + # Apply arch-xen patches + ( cd linux-$(LINUX_24VER)-xen-sparse ; \ + ./mkbuildtree ../$(LINUX_DIR) ) + # Patch kernel Makefile to set EXTRAVERSION + ( cd $(LINUX_DIR) ; \ + sed -e 's/^EXTRAVERSION.*/&-$(EXTRAVERSION)/' Makefile >Mk.tmp ; \ + rm -f Makefile ; mv Mk.tmp Makefile ) + # add ebtables patch + ( cd $(LINUX_DIR) ; patch -p1 -F3 < ../patches/ebtables.diff ) + # Re-use config from install dir if one exits else use make defconfig + cp $(INSTALL_DIR)/boot/config-$(FULLVERSION) $(LINUX_DIR)/.config || cp $(LINUX_DIR)/arch/xen/defconfig-$(EXTRAVERSION) $(LINUX_DIR)/.config + make -C $(LINUX_DIR) ARCH=xen oldconfig + make -C $(LINUX_DIR) ARCH=xen dep + +build: $(LINUX_DIR) + $(MAKE) -C $(LINUX_DIR) ARCH=xen modules + $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_MOD_PATH=$(INSTALL_DIR) modules_install + $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(INSTALL_DIR) install + +clean: + $(MAKE) -C $(LINUX_DIR) ARCH=xen clean + +kdelete: + rm -rf tmp $(LINUX_DIR) + + + + + + + diff --git a/buildconfigs/linux-2.4-xenU b/buildconfigs/linux-2.4-xenU new file mode 100644 index 0000000000..e849da907d --- /dev/null +++ b/buildconfigs/linux-2.4-xenU @@ -0,0 +1,51 @@ + +EXTRAVERSION = xenU + +FULLVERSION = $(LINUX_24VER)-$(EXTRAVERSION) + +LINUX_DIR = linux-$(FULLVERSION) + +.PHONY: build clean mrproper mkpatch + +include buildconfigs/Rules.mk + +.PHONY: build clean mrproper mkpatch + + +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 > $@ + +# The real action starts here! +$(LINUX_DIR): pristine-linux-$(LINUX_24VER) patches/ebtables.diff + rm -rf $(LINUX_DIR) + cp -al pristine-linux-$(LINUX_24VER) $(LINUX_DIR) + # Apply arch-xen patches + ( cd linux-$(LINUX_24VER)-xen-sparse ; \ + ./mkbuildtree ../$(LINUX_DIR) ) + # Patch kernel Makefile to set EXTRAVERSION + ( cd $(LINUX_DIR) ; \ + sed -e 's/^EXTRAVERSION.*/&-$(EXTRAVERSION)/' Makefile >Mk.tmp ; \ + rm -f Makefile ; mv Mk.tmp Makefile ) + # Re-use config from install dir if one exits else use make defconfig + cp $(INSTALL_DIR)/boot/config-$(FULLVERSION) $(LINUX_DIR)/.config || cp $(LINUX_DIR)/arch/xen/defconfig-$(EXTRAVERSION) $(LINUX_DIR)/.config + make -C $(LINUX_DIR) ARCH=xen oldconfig + make -C $(LINUX_DIR) ARCH=xen dep + +build: $(LINUX_DIR) + $(MAKE) -C $(LINUX_DIR) ARCH=xen modules + $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_MOD_PATH=$(INSTALL_DIR) modules_install + $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(INSTALL_DIR) install + +clean: + $(MAKE) -C $(LINUX_DIR) ARCH=xen clean + +kdelete: + rm -rf tmp $(LINUX_DIR) + + + + + + + diff --git a/buildconfigs/linux-2.6-xen0 b/buildconfigs/linux-2.6-xen0 new file mode 100644 index 0000000000..32f9be17f7 --- /dev/null +++ b/buildconfigs/linux-2.6-xen0 @@ -0,0 +1,45 @@ + +EXTRAVERSION = xen0 + +FULLVERSION = $(LINUX_26VER)-$(EXTRAVERSION) + +LINUX_DIR = linux-$(FULLVERSION) + +.PHONY: build clean mrproper mkpatch + +include buildconfigs/Rules.mk + +.PHONY: build clean mrproper mkpatch + +# The real action starts here! +$(LINUX_DIR): pristine-linux-$(LINUX_26VER) + rm -rf $(LINUX_DIR) + cp -al pristine-linux-$(LINUX_26VER) $(LINUX_DIR) + # Apply arch-xen patches + ( cd linux-$(LINUX_26VER)-xen-sparse ; \ + ./mkbuildtree ../$(LINUX_DIR) ) + # Patch kernel Makefile to set EXTRAVERSION + ( cd $(LINUX_DIR) ; \ + sed -e 's/^EXTRAVERSION.*/&-$(EXTRAVERSION)/' Makefile >Mk.tmp ; \ + rm -f Makefile ; mv Mk.tmp Makefile ) + # Re-use config from install dir if one exits else use make defconfig + cp $(INSTALL_DIR)/boot/config-$(FULLVERSION) $(LINUX_DIR)/.config || cp $(LINUX_DIR)/arch/xen/configs/$(EXTRAVERSION)_defconfig $(LINUX_DIR)/.config + make -C $(LINUX_DIR) ARCH=xen oldconfig + +build: $(LINUX_DIR) + $(MAKE) -C $(LINUX_DIR) ARCH=xen modules + $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_MOD_PATH=$(INSTALL_DIR) modules_install + $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(INSTALL_DIR) install + +clean: + $(MAKE) -C $(LINUX_DIR) ARCH=xen clean + +kdelete: + rm -rf tmp $(LINUX_DIR) + + + + + + + diff --git a/buildconfigs/linux-2.6-xenU b/buildconfigs/linux-2.6-xenU new file mode 100644 index 0000000000..eb25a7032c --- /dev/null +++ b/buildconfigs/linux-2.6-xenU @@ -0,0 +1,45 @@ + +EXTRAVERSION = xenU + +FULLVERSION = $(LINUX_26VER)-$(EXTRAVERSION) + +LINUX_DIR = linux-$(FULLVERSION) + +.PHONY: build clean mrproper mkpatch + +include buildconfigs/Rules.mk + +.PHONY: build clean mrproper mkpatch + +# The real action starts here! +$(LINUX_DIR): pristine-linux-$(LINUX_26VER) + rm -rf $(LINUX_DIR) + cp -al pristine-linux-$(LINUX_26VER) $(LINUX_DIR) + # Apply arch-xen patches + ( cd linux-$(LINUX_26VER)-xen-sparse ; \ + ./mkbuildtree ../$(LINUX_DIR) ) + # Patch kernel Makefile to set EXTRAVERSION + ( cd $(LINUX_DIR) ; \ + sed -e 's/^EXTRAVERSION.*/&-$(EXTRAVERSION)/' Makefile >Mk.tmp ; \ + rm -f Makefile ; mv Mk.tmp Makefile ) + # Re-use config from install dir if one exits else use make defconfig + cp $(INSTALL_DIR)/boot/config-$(FULLVERSION) $(LINUX_DIR)/.config || cp $(LINUX_DIR)/arch/xen/configs/$(EXTRAVERSION)_defconfig $(LINUX_DIR)/.config + make -C $(LINUX_DIR) ARCH=xen oldconfig + +build: $(LINUX_DIR) + $(MAKE) -C $(LINUX_DIR) ARCH=xen modules + $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_MOD_PATH=$(INSTALL_DIR) modules_install + $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(INSTALL_DIR) install + +clean: + $(MAKE) -C $(LINUX_DIR) ARCH=xen clean + +kdelete: + rm -rf tmp $(LINUX_DIR) + + + + + + + |