aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2005-01-27 10:53:38 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2005-01-27 10:53:38 +0000
commit2f34aafbb609ff31be3fd880538c65ee78e379f0 (patch)
tree50d69d29a98ba0217bb7c698ef0f9cb862b7199e
parent35fcf160380833d4d3bc858bfda75cc8f0dbae7b (diff)
downloadxen-2f34aafbb609ff31be3fd880538c65ee78e379f0.tar.gz
xen-2f34aafbb609ff31be3fd880538c65ee78e379f0.tar.bz2
xen-2f34aafbb609ff31be3fd880538c65ee78e379f0.zip
bitkeeper revision 1.1159.223.44 (41f8c832pMZZ7WmykH_gAUBQHtPF1A)
Allow target architecture to be specified by specifying ARCH variable to root Makefile (e.g, make ARCH=x86_32).
-rw-r--r--.rootkeys2
-rw-r--r--Makefile14
-rw-r--r--tools/Rules.mk (renamed from tools/Make.defs)11
-rw-r--r--tools/libxc/Makefile2
-rw-r--r--tools/libxutil/Makefile2
-rw-r--r--tools/misc/Makefile9
-rw-r--r--tools/python/Makefile7
-rw-r--r--tools/vnet/vnetd/Makefile2
-rw-r--r--tools/x2d2/Makefile4
-rw-r--r--tools/xentrace/Makefile4
-rw-r--r--tools/xfrd/Makefile2
11 files changed, 40 insertions, 19 deletions
diff --git a/.rootkeys b/.rootkeys
index 4dde2f8460..b14c560ec8 100644
--- a/.rootkeys
+++ b/.rootkeys
@@ -294,8 +294,8 @@
413aa1d0oNP8HXLvfPuMe6cSroUfSA patches/linux-2.6.9/agpgart.patch
413aa1d0ewvSv-ohnNnQQNGsbPTTNA patches/linux-2.6.9/drm.patch
418abc69J3F638vPO9MYoDGeYilxoQ patches/linux-2.6.9/nettel.patch
-40e1b09db5mN69Ijj0X_Eol-S7dXiw tools/Make.defs
3f776bd1Hy9rn69ntXBhPReUFw9IEA tools/Makefile
+40e1b09db5mN69Ijj0X_Eol-S7dXiw tools/Rules.mk
4124b307nRyK3dhn1hAsvrY76NuV3g tools/check/Makefile
4124b307vHLUWbfpemVefmaWDcdfag tools/check/README
4124b307jt7T3CHysgl9LijNHSe1tA tools/check/check_brctl
diff --git a/Makefile b/Makefile
index 33bac70d43..094acb7fe4 100644
--- a/Makefile
+++ b/Makefile
@@ -21,6 +21,12 @@ XKERNELS := $(foreach kernel, $(KERNELS), $(patsubst buildconfigs/mk.%,%,$(wildc
export DESTDIR
+# Export target architecture overrides to Xen and Linux sub-trees.
+ifneq ($(ARCH),)
+export TARGET_SUBARCH := $(ARCH)
+export SUBARCH := $(subst x86_32,i386,$(ARCH))
+endif
+
include buildconfigs/Rules.mk
.PHONY: all dist install xen tools kernels docs world clean mkpatches mrproper
@@ -36,8 +42,8 @@ install: xen checked-tools kernels docs
# Only check for install req'mts on 'make install', not on 'make dist'.
checked-tools:
- $(MAKE) -C tools/check install
- $(MAKE) -C tools install
+ $(MAKE) ARCH=$(ARCH) -C tools/check install
+ $(MAKE) ARCH=$(ARCH) -C tools install
# build and install everything into local dist directory
dist: xen tools kernels docs
@@ -51,7 +57,7 @@ xen:
$(MAKE) -C xen install
tools:
- $(MAKE) -C tools install
+ $(MAKE) ARCH=$(ARCH) -C tools install
kernels:
for i in $(XKERNELS) ; do $(MAKE) $$i-build || exit 1; done
@@ -86,7 +92,7 @@ world:
# clean doesn't do a kclean
clean:
$(MAKE) -C xen clean
- $(MAKE) -C tools clean
+ $(MAKE) ARCH=$(ARCH) -C tools clean
$(MAKE) -C docs clean
# clean, but blow away kernel build tree plus tar balls
diff --git a/tools/Make.defs b/tools/Rules.mk
index 132e4347cc..2876c7eb61 100644
--- a/tools/Make.defs
+++ b/tools/Rules.mk
@@ -1,4 +1,15 @@
# -*- mode: Makefile; -*-
+
XEN_XC = $(XEN_ROOT)/tools/python/xen/lowlevel/xc
XEN_LIBXC = $(XEN_ROOT)/tools/libxc
XEN_LIBXUTIL = $(XEN_ROOT)/tools/libxutil
+
+ifeq ($(ARCH),x86_32)
+CFLAGS += -m32 -march=i686
+LDFLAGS += -m elf_i386
+endif
+
+ifeq ($(ARCH),x86_64)
+CFLAGS += -m64
+LDFLAGS += -m elf_x86_64
+endif
diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
index a0f62b9c6f..d25e653467 100644
--- a/tools/libxc/Makefile
+++ b/tools/libxc/Makefile
@@ -10,7 +10,7 @@ SONAME = libxc.so.$(MAJOR)
CC = gcc
XEN_ROOT = ../..
-include $(XEN_ROOT)/tools/Make.defs
+include $(XEN_ROOT)/tools/Rules.mk
vpath %c $(XEN_LIBXUTIL)
INCLUDES += -I $(XEN_LIBXUTIL)
diff --git a/tools/libxutil/Makefile b/tools/libxutil/Makefile
index bedbcc7c5c..67cfbe08fd 100644
--- a/tools/libxutil/Makefile
+++ b/tools/libxutil/Makefile
@@ -4,7 +4,7 @@ INSTALL_DATA = $(INSTALL) -m0644
INSTALL_PROG = $(INSTALL) -m0755
INSTALL_DIR = $(INSTALL) -d -m0755
-include $(XEN_ROOT)/tools/Make.defs
+include $(XEN_ROOT)/tools/Rules.mk
CC = gcc
diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 84166c72fc..b339e300db 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -3,10 +3,10 @@ INSTALL_PROG = $(INSTALL) -m0755
INSTALL_DIR = $(INSTALL) -d -m0755
XEN_ROOT=../..
-include $(XEN_ROOT)/tools/Make.defs
+include $(XEN_ROOT)/tools/Rules.mk
-CC = gcc
-CFLAGS = -Wall -Werror -O3
+CC = gcc
+CFLAGS += -Wall -Werror -O3
INCLUDES += -I $(XEN_XC)
INCLUDES += -I $(XEN_LIBXC)
@@ -27,7 +27,8 @@ install: all
$(INSTALL_DIR) $(DESTDIR)/usr/sbin
$(INSTALL_PROG) $(INSTALL_BIN) $(DESTDIR)/usr/bin
$(INSTALL_PROG) $(INSTALL_SBIN) $(DESTDIR)/usr/sbin
- $(MAKE) -C miniterm install
+# No sense in installing miniterm on the Xen box.
+# $(MAKE) -C miniterm install
clean:
$(RM) *.o $(TARGETS) *~
diff --git a/tools/python/Makefile b/tools/python/Makefile
index 18bfeb1f7d..7d152e12ae 100644
--- a/tools/python/Makefile
+++ b/tools/python/Makefile
@@ -1,9 +1,12 @@
+XEN_ROOT = ../..
+include $(XEN_ROOT)/tools/Rules.mk
+
all:
- python setup.py build
+ CFLAGS="$(CFLAGS)" python setup.py build
install: all
- python setup.py install --home="$(DESTDIR)/usr"
+ CFLAGS="$(CFLAGS)" python setup.py install --home="$(DESTDIR)/usr"
clean:
rm -rf build *.pyc *.pyo *.o *.a *~
diff --git a/tools/vnet/vnetd/Makefile b/tools/vnet/vnetd/Makefile
index a507666b5d..3783fa3833 100644
--- a/tools/vnet/vnetd/Makefile
+++ b/tools/vnet/vnetd/Makefile
@@ -21,7 +21,7 @@ all: vnetd
#----------------------------------------------------------------------------
XEN_ROOT = ../../..
-include $(XEN_ROOT)/tools/Make.defs
+include $(XEN_ROOT)/tools/Rules.mk
VNETD_INSTALL_DIR = /usr/sbin
diff --git a/tools/x2d2/Makefile b/tools/x2d2/Makefile
index fbe408107f..43f6964cae 100644
--- a/tools/x2d2/Makefile
+++ b/tools/x2d2/Makefile
@@ -1,8 +1,8 @@
XEN_ROOT=../..
-include $(XEN_ROOT)/tools/Make.defs
+include $(XEN_ROOT)/tools/Rules.mk
CC = gcc
-CFLAGS = -Wall -Werror -O3 -fno-strict-aliasing
+CFLAGS += -Wall -Werror -O3 -fno-strict-aliasing
CFLAGS += -I $(XEN_XC)
CFLAGS += -I $(XEN_LIBXC)
diff --git a/tools/xentrace/Makefile b/tools/xentrace/Makefile
index 9133271b66..5fe6a9d61d 100644
--- a/tools/xentrace/Makefile
+++ b/tools/xentrace/Makefile
@@ -4,10 +4,10 @@ INSTALL_DIR = $(INSTALL) -d -m0755
INSTALL_DATA = $(INSTALL) -m0644
XEN_ROOT=../..
-include $(XEN_ROOT)/tools/Make.defs
+include $(XEN_ROOT)/tools/Rules.mk
CC = gcc
-CFLAGS = -Wall -Werror -O3
+CFLAGS += -Wall -Werror -O3
CFLAGS += -I $(XEN_XC)
CFLAGS += -I $(XEN_LIBXC)
diff --git a/tools/xfrd/Makefile b/tools/xfrd/Makefile
index 1b07ffa498..e986755140 100644
--- a/tools/xfrd/Makefile
+++ b/tools/xfrd/Makefile
@@ -9,7 +9,7 @@ INSTALL_PROG = $(INSTALL) -m0755
INSTALL_DIR = $(INSTALL) -d -m0755
XEN_ROOT = ../..
-include $(XEN_ROOT)/tools/Make.defs
+include $(XEN_ROOT)/tools/Rules.mk
XFRD_INSTALL_DIR = /usr/sbin