|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [VTPM v7 8/8] Add conditional build of subsystems to configure.ac
The toplevel Makefile still works without running configure
and will default build everything
Signed-off-by: Matthew Fioravante <matthew.fioravante@xxxxxxxxxx>
---
Makefile | 10 ++++++++--
config/Toplevel.mk.in | 1 +
configure.ac | 11 ++++++++++-
m4/subsystem.m4 | 32 ++++++++++++++++++++++++++++++++
4 files changed, 51 insertions(+), 3 deletions(-)
create mode 100644 config/Toplevel.mk.in
create mode 100644 m4/subsystem.m4
diff --git a/Makefile b/Makefile
index a6ed8be..aa3c7bd 100644
--- a/Makefile
+++ b/Makefile
@@ -6,6 +6,11 @@
.PHONY: all
all: dist
+-include config/Toplevel.mk
+SUBSYSTEMS?=xen kernels tools stubdom docs
+TARGS_DIST=$(patsubst %, dist-%, $(SUBSYSTEMS))
+TARGS_INSTALL=$(patsubst %, install-%, $(SUBSYSTEMS))
+
export XEN_ROOT=$(CURDIR)
include Config.mk
@@ -15,7 +20,7 @@ include buildconfigs/Rules.mk
# build and install everything into the standard system directories
.PHONY: install
-install: install-xen install-kernels install-tools install-stubdom install-docs
+install: $(TARGS_INSTALL)
.PHONY: build
build: kernels
@@ -37,7 +42,7 @@ test:
# build and install everything into local dist directory
.PHONY: dist
dist: DESTDIR=$(DISTDIR)/install
-dist: dist-xen dist-kernels dist-tools dist-stubdom dist-docs dist-misc
+dist: $(TARGS_DIST) dist-misc
dist-misc:
$(INSTALL_DIR) $(DISTDIR)/
@@ -151,6 +156,7 @@ endif
# clean, but blow away kernel build tree plus tarballs
.PHONY: distclean
distclean:
+ -rm config/Toplevel.mk
$(MAKE) -C xen distclean
$(MAKE) -C tools distclean
$(MAKE) -C stubdom distclean
diff --git a/config/Toplevel.mk.in b/config/Toplevel.mk.in
new file mode 100644
index 0000000..4db7eaf
--- /dev/null
+++ b/config/Toplevel.mk.in
@@ -0,0 +1 @@
+SUBSYSTEMS := @SUBSYSTEMS@
diff --git a/configure.ac b/configure.ac
index 5dacb46..fcbc4ae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6,7 +6,16 @@ AC_INIT([Xen Hypervisor], m4_esyscmd([./version.sh
./xen/Makefile]),
[xen-devel@xxxxxxxxxxxxx], [xen], [http://www.xen.org/])
AC_CONFIG_SRCDIR([./xen/common/kernel.c])
AC_PREFIX_DEFAULT([/usr])
+AC_CONFIG_FILES([./config/Toplevel.mk])
-AC_CONFIG_SUBDIRS([tools stubdom])
+m4_include([m4/features.m4])
+m4_include([m4/subsystem.m4])
+
+AX_SUBSYSTEM_DEFAULT_ENABLE([xen])
+AX_SUBSYSTEM_DEFAULT_ENABLE([kernels])
+AX_SUBSYSTEM_DEFAULT_ENABLE([tools])
+AX_SUBSYSTEM_DEFAULT_ENABLE([stubdom])
+AX_SUBSYSTEM_DEFAULT_ENABLE([docs])
+AX_SUBSYSTEM_FINISH
AC_OUTPUT()
diff --git a/m4/subsystem.m4 b/m4/subsystem.m4
new file mode 100644
index 0000000..d3eb8c9
--- /dev/null
+++ b/m4/subsystem.m4
@@ -0,0 +1,32 @@
+AC_DEFUN([AX_SUBSYSTEM_DEFAULT_ENABLE], [
+AC_ARG_ENABLE([$1],
+AS_HELP_STRING([--disable-$1], [Disable build and install of $1]),[
+$1=n
+],[
+$1=y
+SUBSYSTEMS="$SUBSYSTEMS $1"
+AS_IF([test -e "$1/configure"], [
+AC_CONFIG_SUBDIRS([$1])
+])
+])
+AC_SUBST($1)
+])
+
+AC_DEFUN([AX_SUBSYSTEM_DEFAULT_DISABLE], [
+AC_ARG_ENABLE([$1],
+AS_HELP_STRING([--enable-$1], [Enable build and install of $1]),[
+$1=y
+SUBSYSTEMS="$SUBSYSTEMS $1"
+AS_IF([test -e "$1/configure"], [
+AC_CONFIG_SUBDIRS([$1])
+])
+],[
+$1=n
+])
+AC_SUBST($1)
+])
+
+
+AC_DEFUN([AX_SUBSYSTEM_FINISH], [
+AC_SUBST(SUBSYSTEMS)
+])
--
1.7.10.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |