mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
Use a global build configuration file, and rework libxc Makefile for PPC.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
This commit is contained in:
1 parent
678b2e21b2
commit
3f2522e1ac
17 files changed
+109
-103
No files matched your search
@@ -39,19 +39,7 @@ else
|
||||
CFLAGS += -g
|
||||
endif
|
||||
|
||||
ifeq ($(XEN_TARGET_ARCH),x86_32)
|
||||
CFLAGS += -m32 -march=i686
|
||||
endif
|
||||
|
||||
ifeq ($(XEN_TARGET_ARCH),x86_64)
|
||||
CFLAGS += -m64
|
||||
endif
|
||||
|
||||
ifeq ($(XEN_TARGET_ARCH),x86_64)
|
||||
LIBDIR = lib64
|
||||
else
|
||||
LIBDIR = lib
|
||||
endif
|
||||
include $(XEN_ROOT)/config/$(XEN_TARGET_ARCH).mk
|
||||
|
||||
ifneq ($(EXTRA_PREFIX),)
|
||||
EXTRA_INCLUDES += $(EXTRA_PREFIX)/include
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
CONFIG_IA64 := y
|
||||
CONFIG_IOEMU := y
|
||||
|
||||
LIBDIR := lib
|
||||
@@ -0,0 +1,9 @@
|
||||
CONFIG_X86 := y
|
||||
CONFIG_PLAN9 := y
|
||||
CONFIG_HVM := y
|
||||
CONFIG_MIGRATE := y
|
||||
CONFIG_IOEMU := y
|
||||
CONFIG_MBOOTPACK := y
|
||||
|
||||
CFLAGS += -m32 -march=i686
|
||||
LIBDIR := lib
|
||||
@@ -0,0 +1,9 @@
|
||||
CONFIG_X86 := y
|
||||
CONFIG_PLAN9 := y
|
||||
CONFIG_HVM := y
|
||||
CONFIG_MIGRATE := y
|
||||
CONFIG_IOEMU := y
|
||||
CONFIG_MBOOTPACK := y
|
||||
|
||||
CFLAGS += -m64
|
||||
LIBDIR = lib64
|
||||
@@ -1,7 +1,8 @@
|
||||
debug ?= y
|
||||
pae ?= n
|
||||
|
||||
include $(CURDIR)/../../Config.mk
|
||||
XEN_ROOT = ../..
|
||||
include $(XEN_ROOT)/Config.mk
|
||||
|
||||
# Set TARGET_ARCH
|
||||
override TARGET_ARCH := $(XEN_TARGET_ARCH)
|
||||
|
||||
+22
-23
@@ -1,39 +1,38 @@
|
||||
XEN_ROOT = ../
|
||||
include $(XEN_ROOT)/tools/Rules.mk
|
||||
|
||||
SUBDIRS :=
|
||||
SUBDIRS += libxc
|
||||
SUBDIRS += xenstore
|
||||
SUBDIRS += misc
|
||||
SUBDIRS += examples
|
||||
SUBDIRS += xentrace
|
||||
SUBDIRS += xcutils
|
||||
SUBDIRS += firmware
|
||||
SUBDIRS += security
|
||||
SUBDIRS += console
|
||||
SUBDIRS += xenmon
|
||||
SUBDIRS += guest-headers
|
||||
ifeq ($(VTPM_TOOLS),y)
|
||||
SUBDIRS += vtpm_manager
|
||||
SUBDIRS += vtpm
|
||||
endif
|
||||
SUBDIRS += xenstat
|
||||
SUBDIRS-y :=
|
||||
SUBDIRS-y += libxc
|
||||
SUBDIRS-y += xenstore
|
||||
SUBDIRS-y += misc
|
||||
SUBDIRS-y += examples
|
||||
SUBDIRS-y += xentrace
|
||||
SUBDIRS-$(CONFIG_X86) += xcutils
|
||||
SUBDIRS-y += firmware
|
||||
SUBDIRS-y += security
|
||||
SUBDIRS-y += console
|
||||
SUBDIRS-y += xenmon
|
||||
SUBDIRS-y += guest-headers
|
||||
SUBDIRS-$(VTPM_TOOLS) += vtpm_manager
|
||||
SUBDIRS-$(VTPM_TOOLS) += vtpm
|
||||
SUBDIRS-y += xenstat
|
||||
|
||||
# These don't cross-compile
|
||||
ifeq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
|
||||
SUBDIRS += python
|
||||
SUBDIRS += pygrub
|
||||
SUBDIRS-y += python
|
||||
SUBDIRS-y += pygrub
|
||||
endif
|
||||
|
||||
.PHONY: all
|
||||
all: check
|
||||
@set -e; for subdir in $(SUBDIRS); do \
|
||||
@set -e; for subdir in $(SUBDIRS-y); do \
|
||||
$(MAKE) -C $$subdir $@; \
|
||||
done
|
||||
$(MAKE) ioemu
|
||||
|
||||
.PHONY: install
|
||||
install: check
|
||||
@set -e; for subdir in $(SUBDIRS); do \
|
||||
@set -e; for subdir in $(SUBDIRS-y); do \
|
||||
$(MAKE) -C $$subdir $@; \
|
||||
done
|
||||
$(MAKE) ioemuinstall
|
||||
@@ -41,7 +40,7 @@ install: check
|
||||
|
||||
.PHONY: clean
|
||||
clean: check_clean
|
||||
@set -e; for subdir in $(SUBDIRS); do \
|
||||
@set -e; for subdir in $(SUBDIRS-y); do \
|
||||
$(MAKE) -C $$subdir $@; \
|
||||
done
|
||||
$(MAKE) ioemuclean
|
||||
@@ -55,7 +54,7 @@ check_clean:
|
||||
$(MAKE) -C check clean
|
||||
|
||||
.PHONY: ioemu ioemuinstall ioemuclean
|
||||
ifndef XEN_NO_IOEMU
|
||||
ifdef CONFIG_IOEMU
|
||||
ioemu ioemuinstall ioemuclean:
|
||||
[ -f ioemu/config-host.h ] || \
|
||||
(cd ioemu; sh ./configure --prefix=usr)
|
||||
|
||||
@@ -5,6 +5,8 @@ all:
|
||||
|
||||
include $(XEN_ROOT)/Config.mk
|
||||
|
||||
CONFIG_$(shell uname -s) := y
|
||||
|
||||
XEN_XC = $(XEN_ROOT)/tools/python/xen/lowlevel/xc
|
||||
XEN_LIBXC = $(XEN_ROOT)/tools/libxc
|
||||
XEN_XENSTORE = $(XEN_ROOT)/tools/xenstore
|
||||
|
||||
+31
-44
@@ -10,43 +10,30 @@ MINOR = 0
|
||||
XEN_ROOT = ../..
|
||||
include $(XEN_ROOT)/tools/Rules.mk
|
||||
|
||||
SRCS :=
|
||||
SRCS += xc_bvtsched.c
|
||||
SRCS += xc_core.c
|
||||
SRCS += xc_domain.c
|
||||
SRCS += xc_evtchn.c
|
||||
SRCS += xc_misc.c
|
||||
SRCS += xc_acm.c
|
||||
SRCS += xc_physdev.c
|
||||
SRCS += xc_private.c
|
||||
SRCS += xc_sedf.c
|
||||
SRCS += xc_csched.c
|
||||
SRCS += xc_tbuf.c
|
||||
CTRL_SRCS-y :=
|
||||
CTRL_SRCS-y += xc_bvtsched.c
|
||||
CTRL_SRCS-y += xc_core.c
|
||||
CTRL_SRCS-y += xc_domain.c
|
||||
CTRL_SRCS-y += xc_evtchn.c
|
||||
CTRL_SRCS-y += xc_misc.c
|
||||
CTRL_SRCS-y += xc_acm.c
|
||||
CTRL_SRCS-y += xc_physdev.c
|
||||
CTRL_SRCS-y += xc_private.c
|
||||
CTRL_SRCS-y += xc_sedf.c
|
||||
CTRL_SRCS-y += xc_csched.c
|
||||
CTRL_SRCS-y += xc_tbuf.c
|
||||
CTRL_SRCS-$(CONFIG_X86) += xc_ptrace.c xc_ptrace_core.c xc_pagetab.c
|
||||
CTRL_SRCS-$(CONFIG_Linux) += xc_linux.c
|
||||
|
||||
ifeq ($(patsubst x86%,x86,$(XEN_TARGET_ARCH)),x86)
|
||||
SRCS += xc_ptrace.c
|
||||
SRCS += xc_ptrace_core.c
|
||||
SRCS += xc_pagetab.c
|
||||
endif
|
||||
|
||||
SRCS_Linux += xc_linux.c
|
||||
|
||||
SRCS += $(SRCS_Linux)
|
||||
|
||||
BUILD_SRCS :=
|
||||
BUILD_SRCS += xc_linux_build.c
|
||||
BUILD_SRCS += xc_load_bin.c
|
||||
BUILD_SRCS += xc_load_elf.c
|
||||
BUILD_SRCS += xg_private.c
|
||||
|
||||
ifeq ($(XEN_TARGET_ARCH),ia64)
|
||||
BUILD_SRCS += xc_ia64_stubs.c
|
||||
else
|
||||
BUILD_SRCS += xc_load_aout9.c
|
||||
BUILD_SRCS += xc_linux_restore.c
|
||||
BUILD_SRCS += xc_linux_save.c
|
||||
BUILD_SRCS += xc_hvm_build.c
|
||||
endif
|
||||
GUEST_SRCS-y :=
|
||||
GUEST_SRCS-y += xc_linux_build.c
|
||||
GUEST_SRCS-y += xc_load_bin.c
|
||||
GUEST_SRCS-y += xc_load_elf.c
|
||||
GUEST_SRCS-y += xg_private.c
|
||||
GUEST_SRCS-$(CONFIG_IA64) += xc_ia64_stubs.c
|
||||
GUEST_SRCS-$(CONFIG_PLAN9) += xc_load_aout9.c
|
||||
GUEST_SRCS-$(CONFIG_MIGRATE) += xc_linux_restore.c xc_linux_save.c
|
||||
GUEST_SRCS-$(CONFIG_HVM) += xc_hvm_build.c
|
||||
|
||||
CFLAGS += -Werror
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
@@ -61,11 +48,11 @@ CFLAGS += -Wp,-MD,.$(@F).d
|
||||
LDFLAGS += -L.
|
||||
DEPS = .*.d
|
||||
|
||||
LIB_OBJS := $(patsubst %.c,%.o,$(SRCS))
|
||||
PIC_OBJS := $(patsubst %.c,%.opic,$(SRCS))
|
||||
CTRL_LIB_OBJS := $(patsubst %.c,%.o,$(CTRL_SRCS-y))
|
||||
CTRL_PIC_OBJS := $(patsubst %.c,%.opic,$(CTRL_SRCS-y))
|
||||
|
||||
LIB_BUILD_OBJS := $(patsubst %.c,%.o,$(BUILD_SRCS))
|
||||
PIC_BUILD_OBJS := $(patsubst %.c,%.opic,$(BUILD_SRCS))
|
||||
GUEST_LIB_OBJS := $(patsubst %.c,%.o,$(GUEST_SRCS-y))
|
||||
GUEST_PIC_OBJS := $(patsubst %.c,%.opic,$(GUEST_SRCS-y))
|
||||
|
||||
LIB := libxenctrl.a
|
||||
LIB += libxenctrl.so libxenctrl.so.$(MAJOR) libxenctrl.so.$(MAJOR).$(MINOR)
|
||||
@@ -125,7 +112,7 @@ rpm: build
|
||||
|
||||
# libxenctrl
|
||||
|
||||
libxenctrl.a: $(LIB_OBJS)
|
||||
libxenctrl.a: $(CTRL_LIB_OBJS)
|
||||
$(AR) rc $@ $^
|
||||
|
||||
libxenctrl.so: libxenctrl.so.$(MAJOR)
|
||||
@@ -133,12 +120,12 @@ libxenctrl.so: libxenctrl.so.$(MAJOR)
|
||||
libxenctrl.so.$(MAJOR): libxenctrl.so.$(MAJOR).$(MINOR)
|
||||
ln -sf $< $@
|
||||
|
||||
libxenctrl.so.$(MAJOR).$(MINOR): $(PIC_OBJS)
|
||||
libxenctrl.so.$(MAJOR).$(MINOR): $(CTRL_PIC_OBJS)
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname -Wl,libxenctrl.so.$(MAJOR) -shared -o $@ $^
|
||||
|
||||
# libxenguest
|
||||
|
||||
libxenguest.a: $(LIB_BUILD_OBJS)
|
||||
libxenguest.a: $(GUEST_LIB_OBJS)
|
||||
$(AR) rc $@ $^
|
||||
|
||||
libxenguest.so: libxenguest.so.$(MAJOR)
|
||||
@@ -146,7 +133,7 @@ libxenguest.so: libxenguest.so.$(MAJOR)
|
||||
libxenguest.so.$(MAJOR): libxenguest.so.$(MAJOR).$(MINOR)
|
||||
ln -sf $< $@
|
||||
|
||||
libxenguest.so.$(MAJOR).$(MINOR): $(PIC_BUILD_OBJS) libxenctrl.so
|
||||
libxenguest.so.$(MAJOR).$(MINOR): $(GUEST_PIC_OBJS) libxenctrl.so
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname -Wl,libxenguest.so.$(MAJOR) -shared -o $@ $^ -lz -lxenctrl
|
||||
|
||||
-include $(DEPS)
|
||||
@@ -1,6 +1,4 @@
|
||||
#include "xg_private.h"
|
||||
#define ELFSIZE 32
|
||||
#include "xc_elf.h"
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
* xc_hvm_build.c
|
||||
*/
|
||||
|
||||
#define ELFSIZE 32
|
||||
#include <stddef.h>
|
||||
#include "xg_private.h"
|
||||
#define ELFSIZE 32
|
||||
#include "xc_elf.h"
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
@@ -6,14 +6,6 @@
|
||||
#include "xc_private.h"
|
||||
#include <xenctrl.h>
|
||||
|
||||
#if defined(__i386__)
|
||||
#define ELFSIZE 32
|
||||
#endif
|
||||
|
||||
#if defined(__x86_64__) || defined(__ia64__)
|
||||
#define ELFSIZE 64
|
||||
#endif
|
||||
|
||||
#include "xc_elf.h"
|
||||
#include "xc_aout9.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
@@ -3,14 +3,6 @@
|
||||
*/
|
||||
|
||||
#include "xg_private.h"
|
||||
|
||||
#if defined(__i386__)
|
||||
#define ELFSIZE 32
|
||||
#endif
|
||||
#if defined(__x86_64__) || defined(__ia64__)
|
||||
#define ELFSIZE 64
|
||||
#endif
|
||||
|
||||
#include "xc_elf.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
@@ -145,3 +145,18 @@ unsigned long csum_page(void *page)
|
||||
|
||||
return sum ^ (sum>>32);
|
||||
}
|
||||
|
||||
__attribute__((weak)) int xc_hvm_build(
|
||||
int xc_handle,
|
||||
uint32_t domid,
|
||||
int memsize,
|
||||
const char *image_name,
|
||||
unsigned int vcpus,
|
||||
unsigned int pae,
|
||||
unsigned int acpi,
|
||||
unsigned int apic,
|
||||
unsigned int store_evtchn,
|
||||
unsigned long *store_mfn)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
@@ -25,6 +25,14 @@
|
||||
#define DECLARE_DOM0_OP dom0_op_t op
|
||||
#endif
|
||||
|
||||
#ifndef ELFSIZE
|
||||
#include <limits.h>
|
||||
#if UINT_MAX == ULONG_MAX
|
||||
#define ELFSIZE 32
|
||||
#else
|
||||
#define ELFSIZE 64
|
||||
#endif
|
||||
#endif
|
||||
|
||||
char *xc_read_image(const char *filename, unsigned long *size);
|
||||
char *xc_inflate_buffer(const char *in_buf,
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ all: build
|
||||
build: $(TARGETS)
|
||||
$(MAKE) -C miniterm
|
||||
$(MAKE) -C cpuperf
|
||||
ifneq ($(XEN_TARGET_ARCH),ia64)
|
||||
ifeq ($(CONFIG_MBOOTPACK),y)
|
||||
$(MAKE) -C mbootpack
|
||||
endif
|
||||
$(MAKE) -C lomount
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
|
||||
include $(BASEDIR)/../Config.mk
|
||||
XEN_ROOT = $(BASEDIR)/..
|
||||
include $(XEN_ROOT)/Config.mk
|
||||
|
||||
.PHONY: default
|
||||
default:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
|
||||
include $(BASEDIR)/../Config.mk
|
||||
XEN_ROOT = $(BASEDIR)/..
|
||||
include $(XEN_ROOT)/Config.mk
|
||||
|
||||
figlet: figlet.c
|
||||
$(HOSTCC) -o $@ $<
|
||||
|
||||