[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 |