aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBarry Naujok <bnaujok@sgi.com>2008-11-21 02:43:35 +0000
committerBarry Naujok <bnaujok@sgi.com>2008-11-21 02:43:35 +0000
commit92e254e85e5ffc7bde547dcec235a270fe3105d1 (patch)
tree9322d41565362cca2f7df318ce1001db931238b6
parentf9cd7db6d66f2ff4fb16e729c8cd27d712747a4b (diff)
downloaddmapi-dev-92e254e85e5ffc7bde547dcec235a270fe3105d1.tar.gz
Allow parallel builds of xfs-cmds.
Merge of master-melb:xfs-cmds:32514a by kenmcd. Allow parallel builds of xfs-cmds
-rw-r--r--Makefile26
-rw-r--r--include/buildmacros8
-rw-r--r--include/buildrules16
-rw-r--r--man/Makefile13
4 files changed, 40 insertions, 23 deletions
diff --git a/Makefile b/Makefile
index 9085b4f..c1cc539 100644
--- a/Makefile
+++ b/Makefile
@@ -15,22 +15,28 @@ LSRCFILES = configure configure.in aclocal.m4 Makepkgs install-sh README VERSION
LDIRT = config.log .dep config.status config.cache confdefs.h conftest* \
Logs/* built .census install.* install-dev.* *.gz
-SUBDIRS = include libdm m4 man doc debian build
+LIB_SUBDIRS = include libdm
+TOOL_SUBDIRS = m4 man doc debian build
-default: $(CONFIGURE)
+SUBDIRS = $(LIB_SUBDIRS) $(TOOL_SUBDIRS)
+
+default: include/builddefs
ifeq ($(HAVE_BUILDDEFS), no)
$(MAKE) -C . $@
else
- $(SUBDIRS_MAKERULE)
+ $(MAKE) $(SUBDIRS)
endif
+# tool/lib dependencies
+# There don't appear to be any dependencies between subdirs
+
ifeq ($(HAVE_BUILDDEFS), yes)
include $(BUILDRULES)
else
clean: # if configure hasn't run, nothing to clean
endif
-$(CONFIGURE):
+include/builddefs:
autoconf
./configure \
--prefix=/ \
@@ -49,15 +55,19 @@ $(CONFIGURE):
aclocal.m4::
aclocal --acdir=`pwd`/m4 --output=$@
-install: default
- $(SUBDIRS_MAKERULE)
+install: default $(addsuffix -install,$(SUBDIRS))
ifneq ($(PKG_DISTRIBUTION), debian)
$(INSTALL) -m 755 -d $(PKG_DOC_DIR)
$(INSTALL) -m 644 README $(PKG_DOC_DIR)
endif
-install-dev: default
- $(SUBDIRS_MAKERULE)
+install-dev: default $(addsuffix -install-dev,$(SUBDIRS))
+
+%-install:
+ $(MAKE) -C $* install
+
+%-install-dev:
+ $(MAKE) -C $* install-dev
realclean distclean: clean
rm -f $(LDIRT) $(CONFIGURE)
diff --git a/include/buildmacros b/include/buildmacros
index 00da8a9..db761b4 100644
--- a/include/buildmacros
+++ b/include/buildmacros
@@ -123,14 +123,6 @@ INSTALL_LINGUAS = \
done
endif
-SUBDIRS_MAKERULE = \
- @for d in $(SUBDIRS) ""; do \
- if test -d "$$d" -a ! -z "$$d"; then \
- $(ECHO) === $$d ===; \
- $(MAKEF) -C $$d $@ || exit $$?; \
- fi; \
- done
-
MAN_MAKERULE = \
@for f in *.[12345678] ""; do \
if test ! -z "$$f"; then \
diff --git a/include/buildrules b/include/buildrules
index 4a91fee..e509833 100644
--- a/include/buildrules
+++ b/include/buildrules
@@ -6,16 +6,20 @@ _BUILDRULES_INCLUDED_ = 1
include $(TOPDIR)/include/builddefs
-clean clobber : $(SUBDIRS)
+clean clobber : $(addsuffix -clean,$(SUBDIRS))
rm -f $(DIRT)
@rm -fr .libs
- $(SUBDIRS_MAKERULE)
+
+%-clean:
+ $(MAKE) -C $* clean
# Never blow away subdirs
ifdef SUBDIRS
.PRECIOUS: $(SUBDIRS)
+.PHONY: $(SUBDIRS)
+
$(SUBDIRS):
- $(SUBDIRS_MAKERULE)
+ $(MAKE) -C $@
endif
#
@@ -68,11 +72,13 @@ ifdef LTLIBRARY
DEPENDSCRIPT := $(DEPENDSCRIPT) | $(SED) -e 's,^\([^:]*\)\.o,\1.lo,'
endif
-depend : $(CFILES) $(HFILES)
- $(SUBDIRS_MAKERULE)
+depend : $(CFILES) $(HFILES) $(addsuffix -depend,$(SUBDIRS))
$(DEPENDSCRIPT) > .dep
test -s .dep || rm -f .dep
+%-depend:
+ $(MAKE) -C $* depend
+
# Include dep, but only if it exists
ifeq ($(shell test -f .dep && echo .dep), .dep)
include .dep
diff --git a/man/Makefile b/man/Makefile
index 5102192..2bcce37 100644
--- a/man/Makefile
+++ b/man/Makefile
@@ -7,7 +7,16 @@ include $(TOPDIR)/include/builddefs
SUBDIRS = man3
-default install install-dev : $(SUBDIRS)
- $(SUBDIRS_MAKERULE)
+default : $(SUBDIRS)
+
+install : $(addsuffix -install,$(SUBDIRS))
+
+install-dev : $(addsuffix -install-dev,$(SUBDIRS))
+
+%-install:
+ $(MAKE) -C $* install
+
+%-install-dev:
+ $(MAKE) -C $* install-dev
include $(BUILDRULES)