mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
We have defaulted to using the system libaio for a while now and I din't think there are any relevant distros which don't have it that running Xen 4.4 would be reasonable on. Also it has caused confusion because it is not ever wanted on ARM, but the build system doesn't express that (could be fixed, but deleting is the right thing to do anyway). Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Matt Wilson <msw@amazon.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
232 lines
6.6 KiB
Makefile
232 lines
6.6 KiB
Makefile
XEN_ROOT = $(CURDIR)/..
|
|
include $(XEN_ROOT)/tools/Rules.mk
|
|
|
|
SUBDIRS-y :=
|
|
SUBDIRS-y += include
|
|
SUBDIRS-y += libxc
|
|
SUBDIRS-$(FLASK_ENABLE) += flask
|
|
SUBDIRS-y += xenstore
|
|
SUBDIRS-y += misc
|
|
SUBDIRS-y += examples
|
|
SUBDIRS-y += hotplug
|
|
SUBDIRS-y += xentrace
|
|
SUBDIRS-$(CONFIG_XCUTILS) += xcutils
|
|
SUBDIRS-$(CONFIG_X86) += firmware
|
|
SUBDIRS-y += console
|
|
SUBDIRS-y += xenmon
|
|
SUBDIRS-y += xenstat
|
|
SUBDIRS-$(CONFIG_Linux) += memshr
|
|
ifeq ($(CONFIG_X86),y)
|
|
SUBDIRS-$(CONFIG_Linux) += blktap
|
|
endif
|
|
SUBDIRS-$(CONFIG_Linux) += blktap2
|
|
SUBDIRS-$(CONFIG_NetBSD) += blktap2
|
|
SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
|
|
SUBDIRS-y += libfsimage
|
|
SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
|
|
SUBDIRS-$(CONFIG_Linux) += libvchan
|
|
|
|
# do not recurse in to a dir we are about to delete
|
|
ifneq "$(MAKECMDGOALS)" "distclean"
|
|
SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-traditional-dir
|
|
SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-dir
|
|
endif
|
|
|
|
SUBDIRS-y += xenpmd
|
|
SUBDIRS-y += libxl
|
|
SUBDIRS-y += remus
|
|
SUBDIRS-$(CONFIG_X86) += xenpaging
|
|
SUBDIRS-$(CONFIG_X86) += debugger/gdbsx
|
|
SUBDIRS-$(CONFIG_X86) += debugger/kdd
|
|
SUBDIRS-$(CONFIG_TESTS) += tests
|
|
|
|
# These don't cross-compile
|
|
ifeq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
|
|
SUBDIRS-y += python
|
|
SUBDIRS-y += pygrub
|
|
SUBDIRS-$(OCAML_TOOLS) += ocaml
|
|
endif
|
|
|
|
# For the sake of linking, set the sys-root
|
|
ifneq ($(CROSS_COMPILE),)
|
|
CROSS_BIN_PATH ?= /usr/$(CROSS_COMPILE:-=)/bin
|
|
CROSS_SYS_ROOT ?= /usr/$(CROSS_COMPILE:-=)/sys-root
|
|
export CROSS_SYS_ROOT # exported for check/funcs.sh
|
|
export CROSS_BIN_PATH # exported for cross-install.sh
|
|
endif
|
|
|
|
.PHONY: all
|
|
all: subdirs-all
|
|
|
|
.PHONY: install
|
|
install: subdirs-install
|
|
$(INSTALL_DIR) $(DESTDIR)/var/xen/dump
|
|
$(INSTALL_DIR) $(DESTDIR)/var/log/xen
|
|
$(INSTALL_DIR) $(DESTDIR)/var/lib/xen
|
|
$(INSTALL_DIR) $(DESTDIR)/var/lock/subsys
|
|
|
|
.PHONY: uninstall
|
|
uninstall: D=$(DESTDIR)
|
|
uninstall:
|
|
rm -rf $(D)$(LIBDIR)/xen* $(D)$(BINDIR)/lomount
|
|
rm -rf $(D)$(BINDIR)/cpuperf-perfcntr $(D)$(BINDIR)/cpuperf-xen
|
|
rm -rf $(D)$(BINDIR)/xc_shadow
|
|
rm -rf $(D)$(BINDIR)/pygrub
|
|
rm -rf $(D)$(BINDIR)/setsize $(D)$(BINDIR)/tbctl
|
|
rm -rf $(D)$(BINDIR)/xsls
|
|
rm -rf $(D)$(BINDIR)/xenstore* $(D)$(BINDIR)/xentrace*
|
|
rm -rf $(D)$(BINDIR)/xen-detect $(D)$(BINDIR)/xencons
|
|
rm -rf $(D)$(BINDIR)/xenpvnetboot $(D)$(BINDIR)/qemu-*-xen
|
|
rm -rf $(D)$(INCLUDEDIR)/xenctrl* $(D)$(INCLUDEDIR)/xenguest.h
|
|
rm -rf $(D)$(INCLUDEDIR)/xs_lib.h $(D)$(INCLUDEDIR)/xs.h
|
|
rm -rf $(D)$(INCLUDEDIR)/xenstore-compat/xs_lib.h $(D)$(INCLUDEDIR)/xenstore-compat/xs.h
|
|
rm -rf $(D)$(INCLUDEDIR)/xenstore_lib.h $(D)$(INCLUDEDIR)/xenstore.h
|
|
rm -rf $(D)$(INCLUDEDIR)/xen
|
|
rm -rf $(D)$(INCLUDEDIR)/_libxl* $(D)$(INCLUDEDIR)/libxl*
|
|
rm -rf $(D)$(INCLUDEDIR)/xenstat.h $(D)$(INCLUDEDIR)/xentoollog.h
|
|
rm -rf $(D)$(LIBDIR)/libxenctrl* $(D)$(LIBDIR)/libxenguest*
|
|
rm -rf $(D)$(LIBDIR)/libxenstore* $(D)$(LIBDIR)/libxlutil*
|
|
rm -rf $(D)$(LIBDIR)/python/xen $(D)$(LIBDIR)/python/grub
|
|
rm -rf $(D)$(LIBDIR)/xen/
|
|
rm -rf $(D)$(LIBEXEC)/xen*
|
|
rm -rf $(D)$(SBINDIR)/setmask
|
|
rm -rf $(D)$(SBINDIR)/xen* $(D)$(SBINDIR)/netfix $(D)$(SBINDIR)/xm
|
|
rm -rf $(D)$(SHAREDIR)/doc/xen
|
|
rm -rf $(D)$(SHAREDIR)/xen
|
|
rm -rf $(D)$(SHAREDIR)/qemu-xen
|
|
rm -rf $(D)$(MAN1DIR)/xen*
|
|
rm -rf $(D)$(MAN8DIR)/xen*
|
|
|
|
.PHONY: clean
|
|
clean: subdirs-clean
|
|
|
|
.PHONY: distclean
|
|
distclean: subdirs-distclean
|
|
rm -rf qemu-xen-traditional-dir qemu-xen-traditional-dir-remote
|
|
rm -rf qemu-xen-dir qemu-xen-dir-remote
|
|
rm -rf ../config/Tools.mk config.h config.log config.status \
|
|
config.cache autom4te.cache
|
|
|
|
ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
|
|
IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \
|
|
--cross-prefix=$(CROSS_COMPILE) \
|
|
--interp-prefix=$(CROSS_SYS_ROOT)
|
|
endif
|
|
|
|
QEMU_ROOT := $(shell if [ -d "$(CONFIG_QEMU)" ]; then echo "$(CONFIG_QEMU)"; else echo .; fi)
|
|
ifneq ($(QEMU_ROOT),.)
|
|
export QEMU_ROOT
|
|
endif
|
|
|
|
qemu-xen-traditional-dir-find:
|
|
set -ex; \
|
|
if test -d $(CONFIG_QEMU); then \
|
|
mkdir -p qemu-xen-traditional-dir; \
|
|
else \
|
|
export GIT=$(GIT); \
|
|
$(XEN_ROOT)/scripts/git-checkout.sh $(CONFIG_QEMU) $(QEMU_TAG) qemu-xen-traditional-dir; \
|
|
fi
|
|
|
|
qemu-xen-dir-find:
|
|
if test -d $(QEMU_UPSTREAM_URL) ; then \
|
|
mkdir -p qemu-xen-dir; \
|
|
else \
|
|
export GIT=$(GIT); \
|
|
$(XEN_ROOT)/scripts/git-checkout.sh $(QEMU_UPSTREAM_URL) $(QEMU_UPSTREAM_REVISION) qemu-xen-dir ; \
|
|
fi
|
|
|
|
.PHONY: qemu-xen-traditional-dir-force-update
|
|
qemu-xen-traditional-dir-force-update:
|
|
set -ex; \
|
|
if [ "$(QEMU_TAG)" ]; then \
|
|
cd qemu-xen-traditional-dir-remote; \
|
|
$(GIT) fetch origin; \
|
|
$(GIT) reset --hard $(QEMU_TAG); \
|
|
fi
|
|
|
|
subdir-all-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
|
|
set -e; \
|
|
$(buildmakevars2shellvars); \
|
|
cd qemu-xen-traditional-dir; \
|
|
$(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS); \
|
|
$(MAKE) all
|
|
|
|
subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
|
|
set -e; \
|
|
$(buildmakevars2shellvars); \
|
|
cd qemu-xen-traditional-dir; \
|
|
$(QEMU_ROOT)/xen-setup \
|
|
--extra-cflags="$(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \
|
|
$(IOEMU_CONFIGURE_CROSS); \
|
|
$(MAKE) install
|
|
|
|
subdir-clean-qemu-xen-traditional-dir:
|
|
set -e; if test -d qemu-xen-traditional-dir/.; then \
|
|
$(MAKE) -C qemu-xen-traditional-dir clean; \
|
|
fi
|
|
|
|
.PHONY: qemu-xen-dir-force-update
|
|
qemu-xen-dir-force-update:
|
|
set -ex; \
|
|
if [ "$(QEMU_UPSTREAM_REVISION)" ]; then \
|
|
cd qemu-xen-dir-remote; \
|
|
$(GIT) fetch origin; \
|
|
$(GIT) reset --hard $(QEMU_UPSTREAM_REVISION); \
|
|
fi
|
|
|
|
subdir-all-qemu-xen-dir: qemu-xen-dir-find
|
|
if test -d $(QEMU_UPSTREAM_URL) ; then \
|
|
source=$(QEMU_UPSTREAM_URL); \
|
|
else \
|
|
source=.; \
|
|
fi; \
|
|
cd qemu-xen-dir; \
|
|
$$source/configure --enable-xen --target-list=i386-softmmu \
|
|
--prefix=$(PREFIX) \
|
|
--source-path=$$source \
|
|
--extra-cflags="-I$(XEN_ROOT)/tools/include \
|
|
-I$(XEN_ROOT)/tools/libxc \
|
|
-I$(XEN_ROOT)/tools/xenstore \
|
|
-I$(XEN_ROOT)/tools/xenstore/compat \
|
|
$(EXTRA_CFLAGS_QEMU_XEN)" \
|
|
--extra-ldflags="-L$(XEN_ROOT)/tools/libxc \
|
|
-L$(XEN_ROOT)/tools/xenstore" \
|
|
--bindir=$(LIBEXEC) \
|
|
--datadir=$(SHAREDIR)/qemu-xen \
|
|
--disable-kvm \
|
|
--disable-docs \
|
|
--python=$(PYTHON) \
|
|
$(IOEMU_CONFIGURE_CROSS); \
|
|
$(MAKE) all
|
|
|
|
subdir-install-qemu-xen-dir: subdir-all-qemu-xen-dir
|
|
cd qemu-xen-dir; \
|
|
$(MAKE) install
|
|
|
|
subdir-clean-qemu-xen-dir:
|
|
set -e; if test -d qemu-xen-dir/.; then \
|
|
$(MAKE) -C qemu-xen-dir clean; \
|
|
fi
|
|
|
|
subdir-clean-debugger/gdbsx subdir-distclean-debugger/gdbsx: .phony
|
|
$(MAKE) -C debugger/gdbsx clean
|
|
|
|
subdir-install-debugger/gdbsx: .phony
|
|
$(MAKE) -C debugger/gdbsx install
|
|
|
|
subdir-all-debugger/gdbsx: .phony
|
|
$(MAKE) -C debugger/gdbsx all
|
|
|
|
|
|
subdir-clean-debugger/kdd subdir-distclean-debugger/kdd: .phony
|
|
$(MAKE) -C debugger/kdd clean
|
|
|
|
subdir-install-debugger/kdd: .phony
|
|
$(MAKE) -C debugger/kdd install
|
|
|
|
subdir-all-debugger/kdd: .phony
|
|
$(MAKE) -C debugger/kdd all
|
|
|
|
subdir-distclean-firmware: .phony
|
|
$(MAKE) -C firmware distclean
|