aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-03-25 09:48:41 +0000
committerKeir Fraser <keir.fraser@citrix.com>2008-03-25 09:48:41 +0000
commit17e84f77fd29748bf92398489c6055114521ce7d (patch)
treebbd3d20e69c5fe6ed34295383ceb57ff7e376dd9
parentab8ea9334afd3c3678aed1d373965bfe902fbfb1 (diff)
downloadxen-17e84f77fd29748bf92398489c6055114521ce7d.tar.gz
xen-17e84f77fd29748bf92398489c6055114521ce7d.tar.bz2
xen-17e84f77fd29748bf92398489c6055114521ce7d.zip
build: Add generic subdirs rules.
Use them in the toplevel Makefile. Signed-off-by: Bastian Blank <waldi@debian.org>
-rw-r--r--tools/Makefile24
-rw-r--r--tools/Rules.mk10
2 files changed, 13 insertions, 21 deletions
diff --git a/tools/Makefile b/tools/Makefile
index c4deda5596..ace8a1a46a 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -37,34 +37,16 @@ export CROSS_SYS_ROOT
endif
.PHONY: all
-all:
- @set -e; for subdir in $(SUBDIRS-y); do \
- $(MAKE) subdir-$@-$$subdir; \
- done
+all: subdirs-all
.PHONY: install
-install:
- @set -e; for subdir in $(SUBDIRS-y); do \
- $(MAKE) subdir-$@-$$subdir; \
- done
+install: subdirs-install
$(INSTALL_DIR) $(DESTDIR)/var/xen/dump
$(INSTALL_DIR) $(DESTDIR)/var/log/xen
$(INSTALL_DIR) $(DESTDIR)/var/lib/xen
.PHONY: clean distclean
-clean distclean:
- @set -e; for subdir in $(SUBDIRS-y); do \
- $(MAKE) subdir-clean-$$subdir; \
- done
-
-subdir-all-%:
- $(MAKE) -C $* all
-
-subdir-clean-%:
- $(MAKE) -C $* clean
-
-subdir-install-%:
- $(MAKE) -C $* install
+clean distclean: subdirs-clean
ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
IOEMU_CONFIGURE_CROSS ?= --cross-prefix=$(CROSS_COMPILE) \
diff --git a/tools/Rules.mk b/tools/Rules.mk
index ceb616981e..58f6fbf487 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -49,3 +49,13 @@ $(eval $(check-y))
%.o: %.cc
$(CC) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
+.PHONY: subdirs-all subdirs-clean subdirs-install
+.NOTPARALLEL: subdirs-all subdirs-clean subdirs-install
+subdirs-all subdirs-clean subdirs-install:
+ @set -e; for subdir in $(SUBDIRS) $(SUBDIRS-y); do \
+ $(MAKE) subdir-$(patsubst subdirs-%,%,$@)-$$subdir; \
+ done
+
+subdir-all-% subdir-clean-% subdir-install-%:
+ $(MAKE) -C $* $(patsubst subdir-%-$*,%,$@)
+