bitkeeper revision 1.957 (40ca2b53ianOy58FRjELOpjpvzr1Rg)
authoriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Fri, 11 Jun 2004 21:59:47 +0000 (21:59 +0000)
committeriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Fri, 11 Jun 2004 21:59:47 +0000 (21:59 +0000)
improvements to top level Makefile.
install and linux build directories now live within the repository.

Makefile
linux-2.4.26-xen-sparse/arch/xen/Makefile
tools/misc/xen-clone

index 1b5d6e266f72af825635ef3ab1e2a4884df200d0..bbef01aa9d57e0f10da9cf820fa1e5cd326fb14d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2,6 +2,8 @@
 # Grand Unified Makefile for Xen.
 #
 
+INSTALL_DIR ?= $(shell pwd)/install
+
 all: make-symlinks
        $(MAKE) -C xen
        $(MAKE) -C tools
@@ -9,48 +11,55 @@ all: make-symlinks
 install: all
        $(MAKE) -C xen install
        $(MAKE) -C tools install
+       $(shell cp -a install/boot/*$(LINUX_VER)* /boot/)
 
 dist: all
-       $(MAKE) prefix=`pwd`/install dist=yes -C xen install
-       $(MAKE) prefix=`pwd`/install dist=yes -C tools install
+       $(MAKE) prefix=$(INSTALL_DIR) dist=yes -C xen install
+       $(MAKE) prefix=$(INSTALL_DIR) dist=yes -C tools install
 
 LINUX_VER        ?= $(shell ( /bin/ls -ld linux-*-xen-sparse ) 2>/dev/null | sed -e 's!^.*linux-\(.\+\)-xen-sparse!\1!' )
 LINUX_SRC        ?= linux-$(LINUX_VER).tar.gz
-LINUX_CONFIG_DIR ?= install/boot
-
-linux: 
-       # build whatever is in the current linux directory
-       ( cd ../linux-$(LINUX_VER)-xen ; ARCH=xen make bzImage )
+LINUX_CONFIG_DIR ?= $(INSTALL_DIR)/boot
 
-linux-src:
-       [ -e $(LINUX_SRC) ] || wget ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-$(LINUX_VER).tar.gz -O- > linux-$(LINUX_VER).tar.gz
+pristine-linux-src:
+       [ -e $(LINUX_SRC) ] || wget ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-$(LINUX_VER).tar.gz -O- > $(LINUX_SRC)
 
-mklinux-xen-tree: linux-src
+linux-$(LINUX_VER)-xen: pristine-linux-src
        $(RM) -rf linux-$(LINUX_VER)-xen
        tar -x -z -f $(LINUX_SRC)
        mv linux-$(LINUX_VER) linux-$(LINUX_VER)-xen
        ( cd linux-$(LINUX_VER)-xen-sparse ; ./mkbuildtree ../linux-$(LINUX_VER)-xen )
 
-world: dist mklinux-xen-tree
-       cp ../$(LINUX_CONFIG_DIR)/config-$(LINUX_VER)-xenU .config || make -C linux-$(LINUX_VER)-xen ARCH=xen xenU_config
-       make -C linux-$(LINUX_VER)-xen ARCH=xen oldconfig
-       make -C linux-$(LINUX_VER)-xen ARCH=xen dep
-       make -C linux-$(LINUX_VER)-xen ARCH=xen bzImage
-       INSTALLSUFFIX=U make -C linux-$(LINUX_VER)-xen ARCH=xen dist
-       make -C linux-$(LINUX_VER)-xen ARCH=xen mrproper
-       cp ../$(LINUX_CONFIG_DIR)/config-$(LINUX_VER)-xen0 .config || ARCH=xen make ARCH=xen xen0_config
-       make -C linux-$(LINUX_VER)-xen ARCH=xen oldconfig
-       make -C linux-$(LINUX_VER)-xen ARCH=xen dep
-       make -C linux-$(LINUX_VER)-xen ARCH=xen bzImage
-       INSTALLSUFFIX=0 make -C linux-$(LINUX_VER)-xen ARCH=xen dist
+config_%: linux-$(LINUX_VER)-xen
+       $(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen mrproper
+       cp $(LINUX_CONFIG_DIR)/config-$(LINUX_VER)-$(subst config_,,$(@)) .config || $(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen $(subst config_,,$(@))_config
+       $(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen oldconfig
+       $(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen dep
+
+build_%: 
+       $(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen bzImage
+       $(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen INSTALL_NAME=$(subst linux_,$(LINUX_VER)-,$(@)) prefix=$(INSTALL_DIR) install
+
+
+world: dist
+       $(MAKE) config_xenU 
+       $(MAKE) build_xenU
+       $(MAKE) config_xen0 
+       $(MAKE) build_xen0
+
 
 clean: delete-symlinks
        $(MAKE) -C xen clean
        $(MAKE) -C tools clean
 
+mrproper: clean
+       rm -rf install linux-$(LINUX_VER)-xen linux-$(LINUX_VER).tar.gz
+
+
 make-symlinks: delete-symlinks
        ln -sf linux-$(LINUX_VER)-xen-sparse linux-xen-sparse
 
 delete-symlinks:
        $(RM) linux-xen-sparse
+
+
index 431e61203193726c01de8dea1cd50bbbb1223e7f..37d71473b07d692b2b966d5d73976fd01b65edeb 100644 (file)
@@ -104,15 +104,15 @@ bzImage: vmlinux
 
 install: bzImage
        mkdir -p $(prefix)/boot
-       install -m0644 arch/$(ARCH)/boot/bzImage $(prefix)/boot/vmlinuz-$(KERNELRELEASE)$(INSTALLSUFFIX)
-       install -m0644 vmlinux $(prefix)/boot/vmlinux-syms-$(KERNELRELEASE)$(INSTALLSUFFIX)
-       install -m0664 .config $(prefix)/boot/config-$(KERNELRELEASE)$(INSTALLSUFFIX)
+       install -m0644 arch/$(ARCH)/boot/bzImage $(prefix)/boot/vmlinuz-$(INSTALL_NAME)
+       install -m0644 vmlinux $(prefix)/boot/vmlinux-syms-$(INSTALL_NAME)
+       install -m0664 .config $(prefix)/boot/config-$(INSTALL_NAME)
 
 dist: bzImage
        mkdir -p ../install/boot
-       install -m0644 arch/$(ARCH)/boot/bzImage ../install/boot/vmlinuz-$(KERNELRELEASE)$(INSTALLSUFFIX)
-       install -m0644 vmlinux ../install/boot/vmlinux-syms-$(KERNELRELEASE)$(INSTALLSUFFIX)
-       install -m0664 .config ../install/boot/config-$(KERNELRELEASE)$(INSTALLSUFFIX)
+       install -m0644 arch/$(ARCH)/boot/bzImage ../install/boot/vmlinuz-$(INSTALL_NAME)
+       install -m0644 vmlinux ../install/boot/vmlinux-syms-$(INSTALL_NAME)
+       install -m0664 .config ../install/boot/config-$(INSTALL_NAME)
 
 %_config: arch/xen/defconfig-%
        rm -f .config arch/xen/defconfig
index 08916da2c0beef0be532abb427266646f539b65c..9dccda92e7000b6027d26042b8c09e754dff2a47 100755 (executable)
@@ -68,16 +68,14 @@ then
  LINUX_VER=`( /bin/ls -ld ${DEST_BK_REP}/*linux-*-xen-sparse ) 2>/dev/null | sed -e 's!^.*linux-\(.\+\)-xen-sparse!\1!'`
 
  if [ -e ${LINUX_DIR}/linux-${LINUX_VER}.tar.gz ]  
-  LINUX_SRC=${LINUX_DIR}/linux-${LINUX_VER}.tar.gz
- elif
-  wget ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-${LINUX_VER}.tar.gz -O- > linux-${LINUX_VER}.tar.gz
-  LINUX_SRC=''
+  export LINUX_SRC=${LINUX_DIR}/linux-${LINUX_VER}.tar.gz
  fi
 
  cd ${DEST_BK_REP} 
+ ln -sf ../install install
  make world
  cd ../install/boot
ln -s vmlinux-${LINUX_VER}-xen0 xenolinux.gz
[ -r vmlinuz-${LINUX_VER}-xen0 ] && ln -s vmlinuz-${LINUX_VER}-xen0 xenolinux.gz
   
 else
  # old style repository without 'make world'