aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authoriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>2004-06-14 10:27:13 +0000
committeriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>2004-06-14 10:27:13 +0000
commit8019cf6ca10af3cfba0e7c0c8a1440239d707659 (patch)
tree59135106cb9a24fe372a4f5373fc0cb117aeb6a5 /Makefile
parent142fa293d05998c756cacbc18b902a48a5e43f63 (diff)
downloadxen-8019cf6ca10af3cfba0e7c0c8a1440239d707659.tar.gz
xen-8019cf6ca10af3cfba0e7c0c8a1440239d707659.tar.bz2
xen-8019cf6ca10af3cfba0e7c0c8a1440239d707659.zip
bitkeeper revision 1.960 (40cd7d81VzO6ptRUDTX_VC8yOFY9Ag)
Makefile cleanups. We now have a LINUX_SRC_PATH as well as LINUX_SRC in the top level makefile. New make targets 'linux_XXX_config' and 'linux_XXX' configure and build from the appropriate linux defconfig file. 'install' should install both xen, the tools, and linux-xen. Alson rename xen.dbg -> xen-syms
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile41
1 files changed, 27 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index 3243d346b4..97b07673f3 100644
--- a/Makefile
+++ b/Makefile
@@ -18,34 +18,47 @@ dist: all
$(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_DIR)/boot
-
-pristine-linux-src:
- [ -e $(LINUX_SRC) ] || wget ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-$(LINUX_VER).tar.gz -O- > $(LINUX_SRC)
+LINUX_SRC_PATH ?= .:..
+LINUX_SRC_X ?= $(firstword $(foreach dir,$(subst :, ,$(LINUX_SRC_PATH)),$(wildcard $(dir)/linux-$(LINUX_VER).tar.gz)))
+
+pristine-linux-src:
+ifneq ($(LINUX_SRC),)
+ @[ -r "$(LINUX_SRC)" ] || (echo "Can not find linux src at $(LINUX_SRC)" && false)
+LINUX_SRC_X = $(LINUX_SRC)
+else
+ifeq ($(LINUX_SRC_X),)
+ @echo "Can not find linux-$(LINUX_VER).tar.gz in path $(LINUX_SRC_PATH)"
+ @wget ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-$(LINUX_VER).tar.gz -O./linux-$(LINUX_VER).tar.gz
+LINUX_SRC_X = ./linux-$(LINUX_VER).tar.gz
+endif
+endif
linux-$(LINUX_VER)-xen: pristine-linux-src
$(RM) -rf linux-$(LINUX_VER)-xen
- tar -x -z -f $(LINUX_SRC)
+ tar -x -z -f $(LINUX_SRC_X)
mv linux-$(LINUX_VER) linux-$(LINUX_VER)-xen
( cd linux-$(LINUX_VER)-xen-sparse ; ./mkbuildtree ../linux-$(LINUX_VER)-xen )
-config_%: linux-$(LINUX_VER)-xen
+linux_%_config:
$(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
+ cp $(LINUX_CONFIG_DIR)/config-$(LINUX_VER)-$(subst _config,,$(subst linux_,,$(@))) .config || $(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen $(subst linux_,,$(@))
$(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 build_,$(LINUX_VER)-,$(@)) prefix=$(INSTALL_DIR) install
+linux:
+ $(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen INSTALL_PATH=$(INSTALL_DIR) install
+
+linux_%:
+ $(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen INSTALL_NAME=$(subst linux_,$(LINUX_VER)-,$(@)) INSTALL_PATH=$(INSTALL_DIR) install
world: dist
- $(MAKE) config_xenU
- $(MAKE) build_xenU
- $(MAKE) config_xen0
- $(MAKE) build_xen0
+ $(MAKE) linux-$(LINUX_VER)-xen
+ $(MAKE) linux_xenU_config
+ $(MAKE) linux_xenU
+ $(MAKE) linuc_xen0_config
+ $(MAKE) linux_xen0
clean: delete-symlinks