[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [linux build] Build Linux kernels with output files in a separate directory.
# HG changeset patch # User Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx> # Date 1168256025 0 # Node ID c89384734c1990beaecc0c27bf91142654bbdaa5 # Parent 9ba91a854787816f5c2086612074baa8a913ada6 [linux build] Build Linux kernels with output files in a separate directory. Use a single source tree (linux-2.6-xen) and use Linux' O= option to make the build put output files in a build-linux-$(LINUX_VER)-$(EXTRAVERSION)_$(XEN_TARGET_ARCH) directory, making it possible to build both x86_32 and x86_64 kernels in the same tree. Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx> --- .hgignore | 1 + buildconfigs/mk.linux-2.6-xen | 30 +++++++++++++++++++----------- 2 files changed, 20 insertions(+), 11 deletions(-) diff -r 9ba91a854787 -r c89384734c19 .hgignore --- a/.hgignore Sat Jan 06 15:56:52 2007 +0000 +++ b/.hgignore Mon Jan 08 11:33:45 2007 +0000 @@ -20,6 +20,7 @@ ^\.config$ ^TAGS$ ^tags$ +^build.*$ ^dist/.*$ ^docs/.*\.aux$ ^docs/.*\.dvi$ diff -r 9ba91a854787 -r c89384734c19 buildconfigs/mk.linux-2.6-xen --- a/buildconfigs/mk.linux-2.6-xen Sat Jan 06 15:56:52 2007 +0000 +++ b/buildconfigs/mk.linux-2.6-xen Mon Jan 08 11:33:45 2007 +0000 @@ -3,7 +3,8 @@ LINUX_VER = 2.6.16.33 EXTRAVERSION ?= xen -LINUX_DIR = linux-$(LINUX_VER)-$(EXTRAVERSION) +LINUX_SRCDIR = linux-$(LINUX_VER)-xen +LINUX_DIR = build-linux-$(LINUX_VER)-$(EXTRAVERSION)_$(XEN_TARGET_ARCH) IMAGE_TARGET ?= vmlinuz INSTALL_BOOT_PATH ?= $(DESTDIR) @@ -23,24 +24,30 @@ build: $(LINUX_DIR)/include/linux/autoco mkdir -p $(INSTALL_BOOT_PATH) $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_PATH=$(INSTALL_BOOT_PATH) install -$(LINUX_DIR)/include/linux/autoconf.h: ref-linux-$(LINUX_VER)/.valid-ref - rm -rf $(LINUX_DIR) - cp -al $(<D) $(LINUX_DIR) +$(LINUX_SRCDIR)/.valid-src: ref-linux-$(LINUX_VER)/.valid-ref + rm -rf $(LINUX_SRCDIR) + cp -al $(<D) $(LINUX_SRCDIR) # Apply arch-xen patches ( cd linux-$(LINUX_SERIES)-xen-sparse && \ - LINUX_ARCH=$(LINUX_ARCH) bash ./mkbuildtree ../$(LINUX_DIR) ) + LINUX_ARCH=$(LINUX_ARCH) bash ./mkbuildtree ../$(LINUX_SRCDIR) ) + # Patch kernel Makefile to set EXTRAVERSION + ( cd $(LINUX_SRCDIR) ; \ + sed -e 's,^EXTRAVERSION.*,&$$(XENGUEST)\nXENGUEST := $$(shell [ -r $$(objtree)/.xenguest ] \&\& cat $$(objtree)/.xenguest),' Makefile >Mk.tmp ; \ + rm -f Makefile ; mv Mk.tmp Makefile ) + touch $@ + +$(LINUX_DIR)/include/linux/autoconf.h: $(LINUX_SRCDIR)/.valid-src + rm -rf $(LINUX_DIR) + mkdir -p $(LINUX_DIR) # Re-use config from install dir if one exits else use default config - CONFIG_VERSION=$$(sed -ne 's/^EXTRAVERSION = //p' $(LINUX_DIR)/Makefile); \ + CONFIG_VERSION=$$(sed -ne 's/$$(XENGUEST)//; s/^EXTRAVERSION = //p' $(LINUX_SRCDIR)/Makefile); \ [ -r $(DESTDIR)/boot/config-$(LINUX_VER3)$$CONFIG_VERSION-$(EXTRAVERSION) ] && \ cp $(DESTDIR)/boot/config-$(LINUX_VER3)$$CONFIG_VERSION-$(EXTRAVERSION) $(LINUX_DIR)/.config \ || sh buildconfigs/create_config.sh $(LINUX_DIR)/.config $(EXTRAVERSION) $(XEN_TARGET_ARCH) $(XEN_SYSTYPE) # See if we need to munge config to enable PAE $(MAKE) CONFIG_FILE=$(LINUX_DIR)/.config -f buildconfigs/Rules.mk config-update-pae - # Patch kernel Makefile to set EXTRAVERSION - ( cd $(LINUX_DIR) ; \ - sed -e 's/^EXTRAVERSION.*/&$$(XENGUEST)\nXENGUEST = -$(EXTRAVERSION)/' Makefile >Mk.tmp ; \ - rm -f Makefile ; mv Mk.tmp Makefile ) - $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig + echo "-$(EXTRAVERSION)" >$(LINUX_DIR)/.xenguest + $(MAKE) -C $(LINUX_SRCDIR) ARCH=$(LINUX_ARCH) oldconfig O=$$(/bin/pwd)/$(LINUX_DIR) .PHONY: prep prep: $(LINUX_DIR)/include/linux/autoconf.h @@ -62,4 +69,5 @@ delete: .PHONY: mrpropper mrpropper: + rm -rf $(LINUX_SRCDIR) rm -f linux-$(LINUX_VER).tar.bz2 _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |