WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] minios, stubdom: Add OBJ_DIR parameter to

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] minios, stubdom: Add OBJ_DIR parameter to compile outside sources,
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 17 Jun 2008 12:20:13 -0700
Delivery-date: Tue, 17 Jun 2008 12:20:28 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1213691785 -3600
# Node ID 7e00ebe2b7fdeaa8982326f61e776bfe912ea53b
# Parent  3d99b9d822085d0ebc2c27a912dab3158eec645a
minios,stubdom: Add OBJ_DIR parameter to compile outside sources,
which permits to easily compile mini-os in various flavors. Also clean
some parts of stubdom build.

Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>
---
 .hgignore                         |    4 --
 extras/mini-os/Makefile           |   41 ++++++++++++-----------
 extras/mini-os/arch/ia64/Makefile |    7 ++--
 extras/mini-os/arch/x86/Makefile  |   10 ++---
 extras/mini-os/main.c             |    6 ++-
 extras/mini-os/minios.mk          |    6 +--
 stubdom/Makefile                  |   66 +++++++++++++++++++++-----------------
 stubdom/c/Makefile                |    5 --
 stubdom/caml/Makefile             |    5 --
 tools/ioemu/Makefile.target       |    7 ----
 10 files changed, 77 insertions(+), 80 deletions(-)

diff -r 3d99b9d82208 -r 7e00ebe2b7fd .hgignore
--- a/.hgignore Tue Jun 17 09:35:36 2008 +0100
+++ b/.hgignore Tue Jun 17 09:36:25 2008 +0100
@@ -90,12 +90,10 @@
 ^stubdom/ioemu$
 ^stubdom/libxc$
 ^stubdom/lwip-.*$
-^stubdom/mini-os$
+^stubdom/mini-os-.*$
 ^stubdom/newlib-.*$
 ^stubdom/pciutils-.*$
 ^stubdom/zlib-.*$
-^stubdom/c/main-c.c$
-^stubdom/caml/main-c.c$
 ^tools/.*/TAGS$
 ^tools/.*/build/lib.*/.*\.py$
 ^tools/blktap/Makefile\.smh$
diff -r 3d99b9d82208 -r 7e00ebe2b7fd extras/mini-os/Makefile
--- a/extras/mini-os/Makefile   Tue Jun 17 09:35:36 2008 +0100
+++ b/extras/mini-os/Makefile   Tue Jun 17 09:36:25 2008 +0100
@@ -6,6 +6,7 @@
 
 export XEN_ROOT = ../..
 include $(XEN_ROOT)/Config.mk
+OBJ_DIR ?= $(CURDIR)
 
 ifneq ($(stubdom),y)
 include Config.mk
@@ -20,7 +21,7 @@ include minios.mk
 # Define some default flags for linking.
 LDLIBS := 
 APP_LDLIBS := 
-LDARCHLIB := -L$(TARGET_ARCH_DIR) -l$(ARCH_LIB_NAME)
+LDARCHLIB := -L$(OBJ_DIR)/$(TARGET_ARCH_DIR) -l$(ARCH_LIB_NAME)
 LDFLAGS_FINAL := -T $(TARGET_ARCH_DIR)/minios-$(XEN_TARGET_ARCH).lds
 
 # Prefix for global API names. All other symbols are localised before
@@ -35,14 +36,14 @@ SUBDIRS := lib xenbus console
 
 # The common mini-os objects to build.
 APP_OBJS :=
-OBJS := $(patsubst %.c,%.o,$(wildcard *.c))
-OBJS += $(patsubst %.c,%.o,$(wildcard lib/*.c))
-OBJS += $(patsubst %.c,%.o,$(wildcard xenbus/*.c))
-OBJS += $(patsubst %.c,%.o,$(wildcard console/*.c))
+OBJS := $(patsubst %.c,$(OBJ_DIR)/%.o,$(wildcard *.c))
+OBJS += $(patsubst %.c,$(OBJ_DIR)/%.o,$(wildcard lib/*.c))
+OBJS += $(patsubst %.c,$(OBJ_DIR)/%.o,$(wildcard xenbus/*.c))
+OBJS += $(patsubst %.c,$(OBJ_DIR)/%.o,$(wildcard console/*.c))
 
 
 .PHONY: default
-default: $(TARGET)
+default: $(OBJ_DIR)/$(TARGET)
 
 # Create special architecture specific links. The function arch_links
 # has to be defined in arch.mk (see include above).
@@ -57,7 +58,7 @@ links:        $(ARCH_LINKS)
 
 .PHONY: arch_lib
 arch_lib:
-       $(MAKE) --directory=$(TARGET_ARCH_DIR) || exit 1;
+       $(MAKE) --directory=$(TARGET_ARCH_DIR) 
OBJ_DIR=$(OBJ_DIR)/$(TARGET_ARCH_DIR) || exit 1;
 
 ifeq ($(lwip),y)
 # lwIP library
@@ -66,14 +67,14 @@ LWC += lwip-arch.c lwip-net.c
 LWC    += lwip-arch.c lwip-net.c
 LWO    := $(patsubst %.c,%.o,$(LWC))
 
-lwip.a: $(LWO)
+$(OBJ_DIR)/lwip.a: $(LWO)
        $(RM) $@
        $(AR) cqs $@ $^
 
-OBJS += lwip.a
+OBJS += $(OBJ_DIR)/lwip.a
 endif
 
-OBJS := $(filter-out main.o lwip%.o $(LWO), $(OBJS))
+OBJS := $(filter-out $(OBJ_DIR)/lwip%.o $(LWO), $(OBJS))
 
 ifeq ($(libc),y)
 APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libxc -whole-archive -lxenguest -lxenctrl 
-no-whole-archive
@@ -84,14 +85,14 @@ endif
 endif
 
 ifneq ($(APP_OBJS)-$(lwip),-y)
-OBJS := $(filter-out daytime.o, $(OBJS))
+OBJS := $(filter-out $(OBJ_DIR)/daytime.o, $(OBJS))
 endif
 
-$(TARGET)_app.o: $(APP_OBJS) app.lds
-       $(LD) -r -d $(LDFLAGS) $^ $(APP_LDLIBS) --undefined app_main -o $@
+$(OBJ_DIR)/$(TARGET)_app.o: $(APP_OBJS) app.lds
+       $(LD) -r -d $(LDFLAGS) $^ $(APP_LDLIBS) --undefined main -o $@
 
-$(TARGET): links $(OBJS) $(TARGET)_app.o arch_lib
-       $(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(TARGET)_app.o $(OBJS) $(LDARCHLIB) 
$(LDLIBS) -o $@.o
+$(OBJ_DIR)/$(TARGET): links $(OBJS) $(OBJ_DIR)/$(TARGET)_app.o arch_lib
+       $(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJ_DIR)/$(TARGET)_app.o $(OBJS) 
$(LDARCHLIB) $(LDLIBS) -o $@.o
        $(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o
        $(LD) $(LDFLAGS) $(LDFLAGS_FINAL) $@.o $(EXTRA_OBJS) -o $@
        gzip -f -9 -c $@ >$@.gz
@@ -99,15 +100,15 @@ endif
 .PHONY: clean arch_clean
 
 arch_clean:
-       $(MAKE) --directory=$(TARGET_ARCH_DIR) clean || exit 1;
+       $(MAKE) --directory=$(TARGET_ARCH_DIR) 
OBJ_DIR=$(OBJ_DIR)/$(TARGET_ARCH_DIR) clean || exit 1;
 
 clean: arch_clean
-       for dir in $(SUBDIRS); do \
+       for dir in $(addprefix $(OBJ_DIR)/,$(SUBDIRS)); do \
                rm -f $$dir/*.o; \
        done
-       rm -f *.o *~ core $(TARGET).elf $(TARGET).raw $(TARGET) $(TARGET).gz
-       find . -type l | xargs rm -f
-       $(RM) lwip.a $(LWO)
+       rm -f $(OBJ_DIR)/*.o *~ $(OBJ_DIR)/core $(OBJ_DIR)/$(TARGET).elf 
$(OBJ_DIR)/$(TARGET).raw $(OBJ_DIR)/$(TARGET) $(OBJ_DIR)/$(TARGET).gz
+       find . $(OBJ_DIR) -type l | xargs rm -f
+       $(RM) $(OBJ_DIR)/lwip.a $(LWO)
        rm -f tags TAGS
 
 
diff -r 3d99b9d82208 -r 7e00ebe2b7fd extras/mini-os/arch/ia64/Makefile
--- a/extras/mini-os/arch/ia64/Makefile Tue Jun 17 09:35:36 2008 +0100
+++ b/extras/mini-os/arch/ia64/Makefile Tue Jun 17 09:36:25 2008 +0100
@@ -40,12 +40,13 @@ ARCH_OBJS += __udivdi3.o
 ARCH_OBJS += __udivdi3.o
 ARCH_OBJS += __udivsi3.o
 ARCH_OBJS += __divdi3.o
+ARCH_OBJS := $(addprefix $(OBJ_DIR)/,$(ARCH_OBJS))
 
 GEN_OFF_SRC := gen_off.c
 GEN_OFF_ASM := gen_off.s
 GEN_OFF_H   := $(MINI-OS_ROOT)/include/$(ARCH_INC)/offsets.h
 
-all: $(ARCH_LIB)
+all: $(OBJ_DIR)/$(ARCH_LIB)
 
 $(GEN_OFF_ASM): $(GEN_OFF_SRC)
        $(CC) -S -o $@ $(CPPFLAGS) $<
@@ -53,10 +54,10 @@ all: $(ARCH_LIB)
 $(GEN_OFF_H): $(GEN_OFF_ASM)
        sed -ne "/^->/ {s/->/#define /; p}" < $< > $@
 
-$(ARCH_LIB): $(GEN_OFF_H) $(ARCH_OBJS) $(HEAD_ARCH_OBJ)
+$(OBJ_DIR)/$(ARCH_LIB): $(GEN_OFF_H) $(ARCH_OBJS) $(OBJ_DIR)/$(HEAD_ARCH_OBJ)
        $(AR) rv $(ARCH_LIB) $(ARCH_OBJS)
 
 clean:
-       rm -f $(ARCH_LIB) $(ARCH_OBJS) $(HEAD_ARCH_OBJ)
+       rm -f $(OBJ_DIR)/$(ARCH_LIB) $(ARCH_OBJS) $(OBJ_DIR)/$(HEAD_ARCH_OBJ)
        rm -f $(GEN_OFF_ASM)
        rm -f $(GEN_OFF_H)
diff -r 3d99b9d82208 -r 7e00ebe2b7fd extras/mini-os/arch/x86/Makefile
--- a/extras/mini-os/arch/x86/Makefile  Tue Jun 17 09:35:36 2008 +0100
+++ b/extras/mini-os/arch/x86/Makefile  Tue Jun 17 09:36:25 2008 +0100
@@ -17,15 +17,15 @@ ARCH_SRCS := $(wildcard *.c)
 ARCH_SRCS := $(wildcard *.c)
 
 # The objects built from the sources.
-ARCH_OBJS := $(patsubst %.c,%.o,$(ARCH_SRCS))
+ARCH_OBJS := $(patsubst %.c,$(OBJ_DIR)/%.o,$(ARCH_SRCS))
 
-all: $(ARCH_LIB)
+all: $(OBJ_DIR)/$(ARCH_LIB)
 
 # $(HEAD_ARCH_OBJ) is only build here, needed on linking
 # in ../../Makefile.
-$(ARCH_LIB): $(ARCH_OBJS) $(HEAD_ARCH_OBJ)
-       $(AR) rv $(ARCH_LIB) $(ARCH_OBJS)
+$(OBJ_DIR)/$(ARCH_LIB): $(ARCH_OBJS) $(OBJ_DIR)/$(HEAD_ARCH_OBJ)
+       $(AR) rv $(OBJ_DIR)/$(ARCH_LIB) $(ARCH_OBJS)
 
 clean:
-       rm -f $(ARCH_LIB) $(ARCH_OBJS) $(HEAD_ARCH_OBJ)
+       rm -f $(OBJ_DIR)/$(ARCH_LIB) $(ARCH_OBJS) $(OBJ_DIR)/$(HEAD_ARCH_OBJ)
 
diff -r 3d99b9d82208 -r 7e00ebe2b7fd extras/mini-os/main.c
--- a/extras/mini-os/main.c     Tue Jun 17 09:35:36 2008 +0100
+++ b/extras/mini-os/main.c     Tue Jun 17 09:36:25 2008 +0100
@@ -4,6 +4,7 @@
  * Samuel Thibault <Samuel.Thibault@xxxxxxxxxxxxx>, October 2007
  */
 
+#ifdef HAVE_LIBC
 #include <os.h>
 #include <sched.h>
 #include <console.h>
@@ -112,7 +113,7 @@ static void call_main(void *p)
        } \
     }
 
-    PARSE_ARGS(start_info.cmd_line, argc++, );
+    PARSE_ARGS((char*)start_info.cmd_line, argc++, );
 #ifdef CONFIG_QEMU
     PARSE_ARGS(domargs, argc++, );
 #endif
@@ -121,7 +122,7 @@ static void call_main(void *p)
     argv[0] = "main";
     argc = 1;
 
-    PARSE_ARGS(start_info.cmd_line, argv[argc++] = c, *c++ = 0)
+    PARSE_ARGS((char*)start_info.cmd_line, argv[argc++] = c, *c++ = 0)
 #ifdef CONFIG_QEMU
     PARSE_ARGS(domargs, argv[argc++] = c, *c++ = 0)
 #endif
@@ -168,3 +169,4 @@ int app_main(start_info_t *si)
     main_thread = create_thread("main", call_main, si);
     return 0;
 }
+#endif
diff -r 3d99b9d82208 -r 7e00ebe2b7fd extras/mini-os/minios.mk
--- a/extras/mini-os/minios.mk  Tue Jun 17 09:35:36 2008 +0100
+++ b/extras/mini-os/minios.mk  Tue Jun 17 09:36:25 2008 +0100
@@ -57,13 +57,13 @@ ARCH_LIB := lib$(ARCH_LIB_NAME).a
 # This object contains the entrypoint for startup from Xen.
 # $(HEAD_ARCH_OBJ) has to be built in the architecture specific directory.
 HEAD_ARCH_OBJ := $(XEN_TARGET_ARCH).o
-HEAD_OBJ := $(TARGET_ARCH_DIR)/$(HEAD_ARCH_OBJ)
+HEAD_OBJ := $(OBJ_DIR)/$(TARGET_ARCH_DIR)/$(HEAD_ARCH_OBJ)
 
 
-%.o: %.c $(HDRS) Makefile $(EXTRA_DEPS)
+$(OBJ_DIR)/%.o: %.c $(HDRS) Makefile $(EXTRA_DEPS)
        $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
 
-%.o: %.S $(HDRS) Makefile $(EXTRA_DEPS)
+$(OBJ_DIR)/%.o: %.S $(HDRS) Makefile $(EXTRA_DEPS)
        $(CC) $(ASFLAGS) $(CPPFLAGS) -c $< -o $@
 
 
diff -r 3d99b9d82208 -r 7e00ebe2b7fd stubdom/Makefile
--- a/stubdom/Makefile  Tue Jun 17 09:35:36 2008 +0100
+++ b/stubdom/Makefile  Tue Jun 17 09:36:25 2008 +0100
@@ -1,4 +1,5 @@ XEN_ROOT = ..
 XEN_ROOT = ..
+MINI_OS = $(XEN_ROOT)/extras/mini-os
 
 export XEN_OS=MiniOS
 
@@ -38,6 +39,8 @@ export CROSS_COMPILE=$(GNU_TARGET_ARCH)-
 export CROSS_COMPILE=$(GNU_TARGET_ARCH)-xen-elf-
 export PATH:=$(CROSS_PREFIX)/bin:$(PATH)
 
+TARGETS=ioemu c caml
+
 .PHONY: all
 all: ioemu-stubdom c-stubdom
 
@@ -48,8 +51,8 @@ binutils-$(BINUTILS_VERSION).tar.bz2:
 binutils-$(BINUTILS_VERSION).tar.bz2:
        $(WGET) http://ftp.gnu.org/gnu/binutils/$@
 binutils-$(BINUTILS_VERSION): binutils-$(BINUTILS_VERSION).tar.bz2
-       tar xjf $@.tar.bz2
-       ( cd binutils-$(BINUTILS_VERSION) && patch -p1 < ../binutils.patch )
+       tar xjf $<
+       patch -d $@ -p1 < binutils.patch
        touch $@
 
 BINUTILS_STAMPFILE=$(CROSS_ROOT)/bin/$(GNU_TARGET_ARCH)-xen-elf-ar
@@ -70,8 +73,8 @@ gcc-$(GCC_VERSION).tar.bz2:
 gcc-$(GCC_VERSION).tar.bz2:
        $(WGET) 
http://ftp.gnu.org/gnu/gcc/gcc-$(GCC_VERSION)/gcc-$(GCC_VERSION).tar.bz2
 gcc-$(GCC_VERSION): gcc-$(GCC_VERSION).tar.bz2
-       tar xjf gcc-$(GCC_VERSION).tar.bz2
-       ( cd gcc-$(GCC_VERSION) && patch -p1 < ../gcc.patch )
+       tar xjf $<
+       patch -d $@ -p1 < gcc.patch
        touch $@
 
 GCC_STAMPFILE=$(CROSS_ROOT)/bin/$(GNU_TARGET_ARCH)-xen-elf-gcc-$(GCC_VERSION)
@@ -91,7 +94,7 @@ newlib-cvs:
 newlib-cvs:
        cvs -z 9 -d :pserver:anoncvs@xxxxxxxxxxxxxxxxxx:/cvs/src co -D 
$(NEWLIB_DATE) newlib
        mv src newlib-cvs
-       ( cd newlib-cvs && patch -p0 < ../newlib.patch)
+       patch -d $@ -p0 < newlib.patch
 
 NEWLIB_STAMPFILE=$(CROSS_ROOT)/$(GNU_TARGET_ARCH)-xen-elf/lib/libc.a
 .PHONY: cross-newlib
@@ -147,8 +150,7 @@ cross-libpci: $(LIBPCI_STAMPFILE)
 ######
 
 lwip-cvs:
-       cvs -z 9 -d :pserver:anonymous@xxxxxxxxxxxxxxxxxxxxxxx:/sources/lwip co 
-D $(LWIP_DATE) lwip
-       mv lwip lwip-cvs
+       cvs -z 9 -d :pserver:anonymous@xxxxxxxxxxxxxxxxxxxxxxx:/sources/lwip co 
-D $(LWIP_DATE) -d $@ lwip
 
 #######
 # Links
@@ -162,29 +164,36 @@ mk-symlinks:
        [ -h include ] || ln -sf ../tools/include .
        mkdir -p libxc
        [ -h libxc/Makefile ] || ( cd libxc && \
-         ln -sf ../../tools/libxc/*.h . && \
-         ln -sf ../../tools/libxc/*.c . && \
-         ln -sf ../../tools/libxc/Makefile . )
+         ln -sf ../$(XEN_ROOT)/tools/libxc/*.h . && \
+         ln -sf ../$(XEN_ROOT)/tools/libxc/*.c . && \
+         ln -sf ../$(XEN_ROOT)/tools/libxc/Makefile . )
        mkdir -p libxc/$(XEN_TARGET_ARCH)
        [ -h libxc/$(XEN_TARGET_ARCH) ] || ( cd libxc/$(XEN_TARGET_ARCH) && \
-         ln -sf ../../tools/libxc/$(XEN_TARGET_ARCH)/*.c . && \
-         ln -sf ../../tools/libxc/$(XEN_TARGET_ARCH)/*.h . && \
-         ln -sf ../../tools/libxc/$(XEN_TARGET_ARCH)/Makefile . )
+         ln -sf ../$(XEN_ROOT)/tools/libxc/$(XEN_TARGET_ARCH)/*.c . && \
+         ln -sf ../$(XEN_ROOT)/tools/libxc/$(XEN_TARGET_ARCH)/*.h . && \
+         ln -sf ../$(XEN_ROOT)/tools/libxc/$(XEN_TARGET_ARCH)/Makefile . )
        mkdir -p ioemu
        [ -h ioemu/Makefile ] || ( cd ioemu && \
-         ln -sf ../../tools/ioemu/* . && \
+         ln -sf ../$(XEN_ROOT)/tools/ioemu/* . && \
          ([ ! -h config-host.h ] || rm -f config-host.h) && \
          ([ ! -h config-host.mak ] || rm -f config-host.mak) )
-       [ -h mini-os ] || ln -sf ../extras/mini-os .
-       [ -h mini-os/include/xen ] || ln -sf ../../../xen/include/public 
mini-os/include/xen
+       $(MAKE) -C $(MINI_OS) links
+
+TARGETS_MINIOS=$(addprefix mini-os-,$(TARGETS))
+$(TARGETS_MINIOS): mini-os-%:
+       [ -d $@ ] || \
+       for i in $$(cd $(MINI_OS) ; find . -type d) ; do \
+                mkdir -p $@/$$i ; \
+       done
 
 #######
 # libxc
 #######
 
 .PHONY: libxc
-libxc: cross-zlib mk-symlinks
-       $(MAKE) -C $@
+libxc: libxc/libxenctrl.a libxc/libxenguest.a
+libxc/libxenctrl.a libxc/libxenguest.a: cross-zlib mk-symlinks
+       $(MAKE) -C libxc
 
 #######
 # ioemu
@@ -217,23 +226,23 @@ c: cross-newlib mk-symlinks
 ########
 
 .PHONY: ioemu-stubdom
-ioemu-stubdom: lwip-cvs libxc ioemu
-       $(MAKE) -C mini-os TARGET=$@ LWIPDIR=$(CURDIR)/lwip-cvs 
APP_OBJS="$(CURDIR)/ioemu/i386-dm-stubdom/qemu.a 
$(CURDIR)/ioemu/i386-dm-stubdom/libqemu.a"
+ioemu-stubdom: mini-os-ioemu lwip-cvs libxc ioemu
+       $(MAKE) -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-cvs 
APP_OBJS="$(CURDIR)/ioemu/i386-dm-stubdom/qemu.a 
$(CURDIR)/ioemu/i386-dm-stubdom/libqemu.a" CFLAGS=-DCONFIG_QEMU
 
 CAMLLIB = $(shell ocamlc -where)
 .PHONY: caml-stubdom
-caml-stubdom: lwip-cvs libxc caml
-       $(MAKE) -C mini-os TARGET=$@ LWIPDIR=$(CURDIR)/lwip-cvs 
APP_OBJS="$(CURDIR)/caml/main-c.o $(CURDIR)/caml/main-caml.o 
$(CURDIR)/caml/caml.o $(CAMLLIB)/libasmrun.a"
+caml-stubdom: mini-os-caml lwip-cvs libxc caml
+       $(MAKE) -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-cvs 
APP_OBJS="$(CURDIR)/caml/main-caml.o $(CURDIR)/caml/caml.o 
$(CAMLLIB)/libasmrun.a" CFLAGS=-DCONFIG_CAML
 
 .PHONY: c-stubdom
-c-stubdom: lwip-cvs libxc c
-       $(MAKE) -C mini-os TARGET=$@ LWIPDIR=$(CURDIR)/lwip-cvs 
APP_OBJS=$(CURDIR)/c/main.a
+c-stubdom: mini-os-c lwip-cvs libxc c
+       $(MAKE) -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-cvs 
APP_OBJS=$(CURDIR)/c/main.a CFLAGS=-DCONFIG_C
 
 #########
 # install
 #########
 
-install: mini-os/ioemu-stubdom.gz
+install: mini-os-ioemu/mini-os.gz
        $(INSTALL_PROG) stubdom-dm "$(DESTDIR)/usr/lib/xen/bin"
        $(INSTALL_PROG) $< "$(DESTDIR)/usr/lib/xen/boot/stubdom.gz"
 
@@ -244,10 +253,9 @@ install: mini-os/ioemu-stubdom.gz
 # Only clean the libxc/ioemu/mini-os part
 .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
+       rm -fr mini-os-ioemu
+       rm -fr mini-os-c
+       rm -fr mini-os-caml
        $(MAKE) -C caml clean
        $(MAKE) -C c clean
        rm -fr libxc ioemu mini-os include
diff -r 3d99b9d82208 -r 7e00ebe2b7fd stubdom/c/Makefile
--- a/stubdom/c/Makefile        Tue Jun 17 09:35:36 2008 +0100
+++ b/stubdom/c/Makefile        Tue Jun 17 09:36:25 2008 +0100
@@ -4,10 +4,7 @@ include $(XEN_ROOT)/Config.mk
 
 all: main.a
 
-main-c.c:
-       ln -sf $(XEN_ROOT)/extras/mini-os/main.c $@
-
-main.a: main-c.o main.o 
+main.a: main.o 
        $(AR) cr $@ $^
 
 clean:
diff -r 3d99b9d82208 -r 7e00ebe2b7fd stubdom/caml/Makefile
--- a/stubdom/caml/Makefile     Tue Jun 17 09:35:36 2008 +0100
+++ b/stubdom/caml/Makefile     Tue Jun 17 09:36:25 2008 +0100
@@ -11,10 +11,7 @@ OBJS := hello.cmx
 OBJS := hello.cmx
 LIBS := 
 
-all: main-c.o main-caml.o caml.o
-
-main-c.c:
-       ln -sf $(XEN_ROOT)/extras/mini-os/main.c $@
+all: main-caml.o caml.o
 
 %.cmx: %.ml
        $(OCAMLFIND) $(OCAMLOPT) -c $< -o $@
diff -r 3d99b9d82208 -r 7e00ebe2b7fd tools/ioemu/Makefile.target
--- a/tools/ioemu/Makefile.target       Tue Jun 17 09:35:36 2008 +0100
+++ b/tools/ioemu/Makefile.target       Tue Jun 17 09:36:25 2008 +0100
@@ -358,13 +358,6 @@ endif
 endif
 
 ifdef CONFIG_STUBDOM
-VL_OBJS+=main-qemu.o
-CFLAGS += -DCONFIG_QEMU
-main-qemu.c:
-       ln -s $(XEN_ROOT)/extras/mini-os/main.c $@
-endif
-
-ifdef CONFIG_STUBDOM
 #CONFIG_PASSTHROUGH=1
 else
   ifeq (,$(wildcard /usr/include/pci))

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] minios, stubdom: Add OBJ_DIR parameter to compile outside sources,, Xen patchbot-unstable <=