mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
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@eu.citrix.com>
This commit is contained in:
1 parent
96d7365113
commit
dbd56b5c30
10 files changed
+77
-80
No files matched your search
@@ -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$
|
||||
|
||||
+21
-20
@@ -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 := $(filter-out %6.c %ip6_addr.c %ethernetif.c, $(LWC))
|
||||
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 @@ LDLIBS += -lc
|
||||
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 @@ $(TARGET): links $(OBJS) $(TARGET)_app.o arch_lib
|
||||
.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
|
||||
|
||||
|
||||
|
||||
@@ -40,12 +40,13 @@ ARCH_OBJS += __umoddi3.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 @@ $(GEN_OFF_ASM): $(GEN_OFF_SRC)
|
||||
$(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)
|
||||
@@ -17,15 +17,15 @@ include ../../minios.mk
|
||||
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)
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
* Samuel Thibault <Samuel.Thibault@eu.citrix.net>, 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
|
||||
@@ -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 $@
|
||||
|
||||
|
||||
|
||||
+37
-29
@@ -1,4 +1,5 @@
|
||||
XEN_ROOT = ..
|
||||
MINI_OS = $(XEN_ROOT)/extras/mini-os
|
||||
|
||||
export XEN_OS=MiniOS
|
||||
|
||||
@@ -38,6 +39,8 @@ CROSS_PREFIX=$(CURDIR)/$(CROSS_ROOT)
|
||||
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 @@ all: ioemu-stubdom c-stubdom
|
||||
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 @@ $(BINUTILS_STAMPFILE): binutils-$(BINUTILS_VERSION)
|
||||
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 @@ $(GCC_STAMPFILE): gcc-$(GCC_VERSION) $(BINUTILS_STAMPFILE)
|
||||
newlib-cvs:
|
||||
cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/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 @@ $(LIBPCI_STAMPFILE): pciutils-$(LIBPCI_VERSION).tar.bz2 $(NEWLIB_STAMPFILE) $(ZL
|
||||
######
|
||||
|
||||
lwip-cvs:
|
||||
cvs -z 9 -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/lwip co -D $(LWIP_DATE) lwip
|
||||
mv lwip lwip-cvs
|
||||
cvs -z 9 -d :pserver:anonymous@cvs.savannah.nongnu.org:/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
|
||||
|
||||
+1
-4
@@ -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:
|
||||
|
||||
@@ -11,10 +11,7 @@ OCAMLOPT=ocamlopt
|
||||
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 $@
|
||||
|
||||
@@ -357,13 +357,6 @@ ifdef CONFIG_WIN32
|
||||
VL_OBJS+=tap-win32.o
|
||||
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
|
||||
|
||||