mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Introduce a script to perform git checkout on an external git tree; use git-checkout.sh in ioemu-dir-find. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson.citrix.com>
142 lines
3.5 KiB
Makefile
142 lines
3.5 KiB
Makefile
XEN_ROOT = $(CURDIR)/..
|
|
include $(XEN_ROOT)/tools/Rules.mk
|
|
|
|
ifneq ($(CONFIG_SYSTEM_LIBAIO),y)
|
|
SUBDIRS-libaio := libaio
|
|
endif
|
|
|
|
SUBDIRS-y :=
|
|
SUBDIRS-y += check
|
|
SUBDIRS-y += include
|
|
SUBDIRS-y += libxc
|
|
SUBDIRS-y += 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-$(VTPM_TOOLS) += vtpm_manager
|
|
SUBDIRS-$(VTPM_TOOLS) += vtpm
|
|
SUBDIRS-y += xenstat
|
|
SUBDIRS-$(CONFIG_Linux) += $(SUBDIRS-libaio)
|
|
SUBDIRS-$(CONFIG_Linux) += memshr
|
|
SUBDIRS-$(CONFIG_Linux) += blktap
|
|
SUBDIRS-$(CONFIG_Linux) += blktap2
|
|
SUBDIRS-$(CONFIG_NetBSD) += $(SUBDIRS-libaio)
|
|
SUBDIRS-$(CONFIG_NetBSD) += blktap2
|
|
SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
|
|
SUBDIRS-y += libfsimage
|
|
SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
|
|
SUBDIRS-y += libvchan
|
|
|
|
# do not recurse in to a dir we are about to delete
|
|
ifneq "$(MAKECMDGOALS)" "distclean"
|
|
SUBDIRS-$(CONFIG_IOEMU) += ioemu-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
|
|
|
|
# These don't cross-compile
|
|
ifeq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
|
|
SUBDIRS-$(PYTHON_TOOLS) += python
|
|
SUBDIRS-$(PYTHON_TOOLS) += 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: clean
|
|
clean: subdirs-clean
|
|
|
|
.PHONY: distclean
|
|
distclean: subdirs-distclean
|
|
rm -rf ioemu-dir ioemu-dir-remote
|
|
|
|
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
|
|
|
|
ioemu-dir-find:
|
|
set -ex; \
|
|
if test -d $(CONFIG_QEMU); then \
|
|
mkdir -p ioemu-dir; \
|
|
else \
|
|
export GIT=$(GIT); \
|
|
$(XEN_ROOT)/scripts/git-checkout.sh $(CONFIG_QEMU) $(QEMU_TAG) ioemu-dir; \
|
|
fi
|
|
set -e; \
|
|
$(buildmakevars2shellvars); \
|
|
cd ioemu-dir; \
|
|
$(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS)
|
|
|
|
.PHONY: ioemu-dir-force-update
|
|
ioemu-dir-force-update:
|
|
set -ex; \
|
|
if [ "$(QEMU_TAG)" ]; then \
|
|
cd ioemu-dir-remote; \
|
|
$(GIT) fetch origin; \
|
|
$(GIT) reset --hard $(QEMU_TAG); \
|
|
fi
|
|
|
|
subdir-all-ioemu-dir subdir-install-ioemu-dir: ioemu-dir-find
|
|
|
|
subdir-clean-ioemu-dir:
|
|
set -e; if test -d ioemu-dir/.; then \
|
|
$(buildmakevars2shellvars); \
|
|
$(MAKE) -C ioemu-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
|