No longer override target arch with ARCH but instead use TARGET_ARCH.
Xen now requires specification of TARGET_ARCH alone, not TARGET_ARCH
and TARGET_SUBARCH. Xen derives correct internal ARCH/SUBARCH components
automatically.
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))
+ifneq ($(TARGET_ARCH),)
+SUBARCH := $(subst x86_32,i386,$(ARCH))
+export TARGET_ARCH SUBARCH
endif
include buildconfigs/Rules.mk
# Only check for install req'mts on 'make install', not on 'make dist'.
checked-tools:
- $(MAKE) ARCH=$(ARCH) -C tools/check install
- $(MAKE) ARCH=$(ARCH) -C tools install
+ $(MAKE) -C tools/check install
+ $(MAKE) -C tools install
# build and install everything into local dist directory
dist: xen tools kernels docs
$(MAKE) -C xen install
tools:
- $(MAKE) ARCH=$(ARCH) -C tools install
+ $(MAKE) -C tools install
kernels:
for i in $(XKERNELS) ; do $(MAKE) $$i-build || exit 1; done
# clean doesn't do a kclean
clean:
$(MAKE) -C xen clean
- $(MAKE) ARCH=$(ARCH) -C tools clean
+ $(MAKE) -C tools clean
$(MAKE) -C docs clean
# clean, but blow away kernel build tree plus tar balls
XEN_LIBXC = $(XEN_ROOT)/tools/libxc
XEN_LIBXUTIL = $(XEN_ROOT)/tools/libxutil
-ifeq ($(ARCH),x86_32)
+ifeq ($(TARGET_ARCH),x86_32)
CFLAGS += -m32 -march=i686
LDFLAGS += -m elf_i386
endif
-ifeq ($(ARCH),x86_64)
+ifeq ($(TARGET_ARCH),x86_64)
CFLAGS += -m64
LDFLAGS += -m elf_x86_64
endif
trace ?= n
optimize ?= y
-# Currently supported architectures:
-# {COMPILE,TARGET}_ARCH := x86
-# {COMPILE,TARGET}_SUBARCH := x86_32 | x86_64
-COMPILE_ARCH := x86
-COMPILE_SUBARCH := $(shell uname -m | sed -e s/i.86/x86_32/)
-
+# Currently supported architectures: x86_32, x86_64
+COMPILE_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/)
TARGET_ARCH ?= $(COMPILE_ARCH)
-TARGET_SUBARCH ?= $(COMPILE_SUBARCH)
+
+# Set ARCH/SUBARCH appropriately.
+COMPILE_SUBARCH := $(COMPILE_ARCH)
+TARGET_SUBARCH := $(COMPILE_ARCH)
+COMPILE_ARCH := $(patsubst x86%,x86,$(COMPILE_ARCH))
+TARGET_ARCH := $(patsubst x86%,x86,$(TARGET_ARCH))
TARGET := $(BASEDIR)/xen
HDRS := $(wildcard $(BASEDIR)/include/xen/*.h)