mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
bitkeeper revision 1.1003.1.1 (40daac7c6-RMqdy1PiSH_fSWwxWf9A)
master Makefile modified to build each the dom0 and unprivileged xenlinux kernels in different build trees. Also, the "-xen[0U]" tag is reflected in the kernel version name. This means that different modules will need to be built for each, which is less convenient for an expert, but probably less confusing for most users.
This commit is contained in:
1 parent
029d971c4e
commit
f2593c2a9c
8 files changed
+132
-947
No files matched your search
@@ -4,13 +4,17 @@
|
||||
|
||||
INSTALL_DIR ?= $(shell pwd)/install
|
||||
|
||||
SOURCEFORGE_MIRROR = http://heanet.dl.sourceforge.net/sourceforge
|
||||
#http://voxel.dl.sourceforge.net/sourceforge/
|
||||
#http://easynews.dl.sourceforge.net/sourceforge
|
||||
|
||||
# a not partcularly useful but safe default target
|
||||
all: make-symlinks
|
||||
$(MAKE) -C xen
|
||||
$(MAKE) -C tools
|
||||
$(MAKE) prefix=$(INSTALL_DIR) dist=yes -C xen install
|
||||
$(MAKE) prefix=$(INSTALL_DIR) dist=yes -C tools install
|
||||
|
||||
# install everything into the standard system directories
|
||||
install: all
|
||||
install: dist
|
||||
$(MAKE) -C xen install
|
||||
$(MAKE) -C tools install
|
||||
$(shell cp -a install/boot/*$(LINUX_VER)* /boot/)
|
||||
@@ -18,13 +22,13 @@ install: all
|
||||
|
||||
# install xen and tools into the install directory
|
||||
dist: all
|
||||
$(MAKE) prefix=$(INSTALL_DIR) dist=yes -C xen install
|
||||
$(MAKE) prefix=$(INSTALL_DIR) dist=yes -C tools install
|
||||
$(MAKE) linux-xenU
|
||||
$(MAKE) linux-xen0
|
||||
|
||||
LINUX_VER ?= $(shell ( /bin/ls -ld linux-*-xen-sparse ) 2>/dev/null | sed -e 's!^.*linux-\(.\+\)-xen-sparse!\1!' )
|
||||
LINUX_CONFIG_DIR ?= $(INSTALL_DIR)/boot
|
||||
LINUX_SRC_PATH ?= .:..
|
||||
LINUX_SRC_X ?= $(firstword $(foreach dir,$(subst :, ,$(LINUX_SRC_PATH)),$(wildcard $(dir)/linux-$(LINUX_VER).tar.gz)))
|
||||
LINUX_SRC_X ?= $(firstword $(foreach dir,$(subst :, ,$(LINUX_SRC_PATH)),$(wildcard $(dir)/linux-$(LINUX_VER).tar.*z*)))
|
||||
|
||||
# search for a pristine kernel tar ball, or try downloading one
|
||||
pristine-linux-src:
|
||||
@@ -34,49 +38,54 @@ 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
|
||||
@wget ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-$(LINUX_VER).tar.bz2 -O./linux-$(LINUX_VER).tar.bz2
|
||||
LINUX_SRC_X = ./linux-$(LINUX_VER).tar.bz2
|
||||
endif
|
||||
endif
|
||||
|
||||
patch-xen0-bridge-nf:
|
||||
(cd linux-$(LINUX_VER)-xen && patch -p1 -F3 < ../patches/ebtables-brnf-5_vs_2.4.25.diff)
|
||||
patches/ebtables-brnf-5_vs_2.4.25.diff:
|
||||
mkdir -p patches
|
||||
wget $(SOURCEFORGE_MIRROR)/ebtables/ebtables-brnf-5_vs_2.4.25.diff.gz -O- | gunzip -c > $@
|
||||
|
||||
LINUX_TREES = linux-$(LINUX_VER)-xen0 linux-$(LINUX_VER)-xenU
|
||||
|
||||
# make a linux-xen build tree from a pristine kernel plus sparse tree
|
||||
linux-$(LINUX_VER)-xen: pristine-linux-src
|
||||
$(RM) -rf linux-$(LINUX_VER)-xen
|
||||
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 )
|
||||
mk-linux-trees: patches/ebtables-brnf-5_vs_2.4.25.diff pristine-linux-src
|
||||
$(RM) -rf $(LINUX_TREES)
|
||||
ifeq (,$(findstring bz2,$(LINUX_SRC_X)))
|
||||
tar -zxf $(LINUX_SRC_X)
|
||||
else
|
||||
tar -jxf $(LINUX_SRC_X)
|
||||
endif
|
||||
mv linux-$(LINUX_VER) linux-$(LINUX_VER)-xen0
|
||||
( cd linux-$(LINUX_VER)-xen-sparse ; ./mkbuildtree ../linux-$(LINUX_VER)-xen0 )
|
||||
cp -al linux-$(LINUX_VER)-xen0 linux-$(LINUX_VER)-xenU
|
||||
(cd linux-$(LINUX_VER)-xen0 && patch -p1 -F3 < ../patches/ebtables-brnf-5_vs_2.4.25.diff)
|
||||
|
||||
# config linux-xen from a specified defaults file
|
||||
linux_%_config:
|
||||
$(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen mrproper
|
||||
cp $(LINUX_CONFIG_DIR)/config-$(LINUX_VER)-$(subst _config,,$(subst linux_,,$(@))) linux-$(LINUX_VER)-xen/.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
|
||||
# configure the specified linux tree
|
||||
config-xen%:
|
||||
$(MAKE) -C $(subst config-,linux-$(LINUX_VER)-,$(@)) ARCH=xen mrproper
|
||||
cp $(LINUX_CONFIG_DIR)/config-$(LINUX_VER)-$(subst config-,,$(@)) $(subst config-,linux-$(LINUX_VER)-,$(@))/.config || $(MAKE) -C $(subst config-,linux-$(LINUX_VER)-,$(@)) ARCH=xen $(subst config-,,$(@))_config
|
||||
$(MAKE) -C $(subst config-,linux-$(LINUX_VER)-,$(@)) ARCH=xen oldconfig
|
||||
$(MAKE) -C $(subst config-,linux-$(LINUX_VER)-,$(@)) ARCH=xen dep
|
||||
|
||||
# build and install to a specified install name
|
||||
linux_%:
|
||||
$(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen modules
|
||||
$(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen INSTALL_NAME=$(subst linux_,$(LINUX_VER)-,$(@)) INSTALL_MOD_PATH=$(INSTALL_DIR) modules_install
|
||||
$(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen INSTALL_NAME=$(subst linux_,$(LINUX_VER)-,$(@)) INSTALL_PATH=$(INSTALL_DIR) install
|
||||
|
||||
# shorthand with no siffix
|
||||
linux:
|
||||
$(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen modules
|
||||
$(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen INSTALL_NAME=$(subst linux_,$(LINUX_VER)-,$(@)) INSTALL_MOD_PATH=$(INSTALL_DIR) modules_install
|
||||
$(MAKE) -C linux-$(LINUX_VER)-xen ARCH=xen INSTALL_PATH=$(INSTALL_DIR) install
|
||||
# build the specified linux tree
|
||||
linux-xen%:
|
||||
$(MAKE) -C $(subst linux-,linux-$(LINUX_VER)-,$(@)) ARCH=xen modules
|
||||
$(MAKE) -C $(subst linux-,linux-$(LINUX_VER)-,$(@)) ARCH=xen INSTALL_MOD_PATH=$(INSTALL_DIR) modules_install
|
||||
$(MAKE) -C $(subst linux-,linux-$(LINUX_VER)-,$(@)) ARCH=xen INSTALL_PATH=$(INSTALL_DIR) install
|
||||
|
||||
# build xen, the tools, and a domain 0 plus unprivileged linux-xen images,
|
||||
# and place them in the install directory. 'make install' should then
|
||||
# copy them to the normal system directories
|
||||
world: dist
|
||||
$(MAKE) linux-$(LINUX_VER)-xen
|
||||
$(MAKE) linux_xenU_config
|
||||
$(MAKE) linux_xenU
|
||||
$(MAKE) linux_xen0_config
|
||||
$(MAKE) linux_xen0
|
||||
world:
|
||||
$(MAKE) clean
|
||||
$(MAKE) all
|
||||
$(MAKE) mk-linux-trees
|
||||
$(MAKE) config-xenU
|
||||
$(MAKE) linux-xenU
|
||||
$(MAKE) config-xen0
|
||||
$(MAKE) linux-xen0
|
||||
|
||||
|
||||
clean: delete-symlinks
|
||||
@@ -85,7 +94,7 @@ clean: delete-symlinks
|
||||
|
||||
# clean, but blow away linux build tree plus src tar ball
|
||||
mrproper: clean
|
||||
rm -rf install linux-$(LINUX_VER)-xen linux-$(LINUX_VER).tar.gz
|
||||
rm -rf install/* patches $(LINUX_TREES) linux-$(LINUX_VER).tar.*
|
||||
|
||||
|
||||
make-symlinks: delete-symlinks
|
||||
@@ -94,4 +103,16 @@ make-symlinks: delete-symlinks
|
||||
delete-symlinks:
|
||||
$(RM) linux-xen-sparse
|
||||
|
||||
# handy target to install twisted (use rpm or apt-get in preference)
|
||||
install-twisted:
|
||||
wget http://www.twistedmatrix.com/products/get-current.epy
|
||||
tar -zxf Twisted-*.tar.gz
|
||||
(cd Twisted-* ; python setup.py install)
|
||||
|
||||
# handy target to upgrade iptables (use rpm or apt-get in preference)
|
||||
install-iptables:
|
||||
wget http://www.netfilter.org/files/iptables-1.2.11.tar.bz2
|
||||
tar -jxf iptables-*.tar.bz2
|
||||
(cd iptables-* ; make PREFIX= KERNEL_DIR=../linux-$(LINUX_VER)-xen0 install)
|
||||
|
||||
|
||||