aboutsummaryrefslogtreecommitdiffstats
path: root/stubdom/Makefile
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-06-09 09:42:14 +0100
committerKeir Fraser <keir.fraser@citrix.com>2008-06-09 09:42:14 +0100
commitbab287fed32d5065e01735d53808c21990408835 (patch)
treea254c6cd171a3a5bf36dba67dcb977c13a1379e1 /stubdom/Makefile
parent1f52665996d7c13f1f316077a0e694dff3bd333e (diff)
downloadxen-bab287fed32d5065e01735d53808c21990408835.tar.gz
xen-bab287fed32d5065e01735d53808c21990408835.tar.bz2
xen-bab287fed32d5065e01735d53808c21990408835.zip
stubdom: prevent newlib from emiting cli/sti in longjmp
Also fix build dependencies and cleanup. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Diffstat (limited to 'stubdom/Makefile')
-rw-r--r--stubdom/Makefile13
1 files changed, 9 insertions, 4 deletions
diff --git a/stubdom/Makefile b/stubdom/Makefile
index e4efa5be95..b082c8ca50 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -23,9 +23,11 @@ endif
ifeq ($(GNU_TARGET_ARCH), i686)
TARGET_CFLAGS=
+NEWLIB_CFLAGS+=-D_I386MACH_ALLOW_HW_INTERRUPTS
endif
ifeq ($(GNU_TARGET_ARCH), x86_64)
TARGET_CFLAGS=-mno-red-zone
+NEWLIB_CFLAGS+=-D_I386MACH_ALLOW_HW_INTERRUPTS
endif
ifeq ($(GNU_TARGET_ARCH), ia64)
TARGET_CFLAGS=-mconstant-gp
@@ -71,7 +73,7 @@ gcc-$(GCC_VERSION): gcc-$(GCC_VERSION).tar.bz2
tar xjf gcc-$(GCC_VERSION).tar.bz2
( cd gcc-$(GCC_VERSION) && patch -p1 < ../gcc.patch )
touch $@
-
+
GCC_STAMPFILE=$(CROSS_ROOT)/bin/$(GNU_TARGET_ARCH)-xen-elf-gcc-$(GCC_VERSION)
.PHONY: cross-gcc
cross-gcc: $(GCC_STAMPFILE)
@@ -97,7 +99,7 @@ cross-newlib: $(NEWLIB_STAMPFILE)
$(NEWLIB_STAMPFILE): newlib-cvs $(GCC_STAMPFILE)
mkdir -p newlib-build
( cd newlib-build && \
- CC_FOR_TARGET="$(GNU_TARGET_ARCH)-xen-elf-gcc $(TARGET_CFLAGS)" ../newlib-cvs/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long && \
+ CC_FOR_TARGET="$(GNU_TARGET_ARCH)-xen-elf-gcc $(TARGET_CFLAGS) $(NEWLIB_CFLAGS)" ../newlib-cvs/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long && \
$(MAKE) && \
$(MAKE) install )
@@ -199,7 +201,7 @@ ioemu: cross-zlib cross-libpci mk-symlinks libxc
######
.PHONY: caml
-caml: mk-symlinks
+caml: cross-newlib mk-symlinks
$(MAKE) -C $@ LWIPDIR=$(CURDIR)/lwip-cvs
###
@@ -207,7 +209,7 @@ caml: mk-symlinks
###
.PHONY: c
-c: mk-symlinks
+c: cross-newlib mk-symlinks
$(MAKE) -C $@ LWIPDIR=$(CURDIR)/lwip-cvs
########
@@ -243,6 +245,9 @@ install: mini-os/ioemu-stubdom.gz
.PHONY: clean
clean:
-$(MAKE) -C mini-os LWIPDIR=$(CURDIR)/lwip-cvs clean
+ -$(MAKE) -C mini-os TARGET=ioemu-stubdom LWIPDIR=$(CURDIR)/lwip-cvs clean
+ -$(MAKE) -C mini-os TARGET=c-stubdom LWIPDIR=$(CURDIR)/lwip-cvs clean
+ -$(MAKE) -C mini-os TARGET=caml-stubdom LWIPDIR=$(CURDIR)/lwip-cvs clean
$(MAKE) -C caml clean
$(MAKE) -C c clean
rm -fr libxc ioemu mini-os include