Bastian Blank
2008-Mar-21 13:01 UTC
[Xen-devel] [PATCH 1/8] tools - Add generic subdirs rules
# HG changeset patch # User Bastian Blank <waldi@debian.org> # Date 1206103827 -3600 # Node ID f08e76266aa7190436f013532cd01d9693ebdaa8 # Parent 76c9cf11ce23540b6016116a972bb4f0e0480a14 Add generic subdirs rules. Use them in the toplevel Makefile. Signed-off-by: Bastian Blank <waldi@debian.org> diff -r 76c9cf11ce23 -r f08e76266aa7 tools/Makefile --- a/tools/Makefile Fri Mar 21 09:45:34 2008 +0000 +++ b/tools/Makefile Fri Mar 21 13:50:27 2008 +0100 @@ -37,34 +37,16 @@ endif 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 -r 76c9cf11ce23 -r f08e76266aa7 tools/Rules.mk --- a/tools/Rules.mk Fri Mar 21 09:45:34 2008 +0000 +++ b/tools/Rules.mk Fri Mar 21 13:50:27 2008 +0100 @@ -49,3 +49,13 @@ check-$(CONFIG_X86) = $(call cc-ver-chec %.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-%-$*,%,$@) + -- She won'' go Warp 7, Cap''n! The batteries are dead! _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2008-Mar-25 10:20 UTC
Re: [Xen-devel] [PATCH 1/8] tools - Add generic subdirs rules
On 21/3/08 13:01, "Bastian Blank" <bastian@waldi.eu.org> wrote:> Add generic subdirs rules. > > Use them in the toplevel Makefile. > > Signed-off-by: Bastian Blank <waldi@debian.org>> diff -r 76c9cf11ce23 -r f08e76266aa7 tools/Rules.mk > --- a/tools/Rules.mk Fri Mar 21 09:45:34 2008 +0000 > +++ b/tools/Rules.mk Fri Mar 21 13:50:27 2008 +0100 > @@ -49,3 +49,13 @@ check-$(CONFIG_X86) = $(call cc-ver-chec > %.o: %.cc > $(CC) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $< > > +.PHONY: subdirs-all subdirs-clean subdirs-install > +.NOTPARALLEL: subdirs-all subdirs-clean subdirs-installNo, .NOTPARALLEL in GNU Make causes parallelism to be globally disabled, not just for the listed dependent targets. It''s really not the right answer here, and it allowed you in a later patch to break the dependencies in tools/firmware -- it may look neater to list subdirs-all as a dependency of all, but it''s not correct in all cases! I applied your patches, then removed .NOTPARALLEL and fixed up the breakages. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel