]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
Allow parallel builds of xfs-cmds.
authorBarry Naujok <bnaujok@sgi.com>
Fri, 21 Nov 2008 02:43:35 +0000 (02:43 +0000)
committerBarry Naujok <bnaujok@sgi.com>
Fri, 21 Nov 2008 02:43:35 +0000 (02:43 +0000)
Merge of master-melb:xfs-cmds:32514a by kenmcd.

  Allow parallel builds of xfs-cmds

Makefile
include/buildmacros
include/buildrules
man/Makefile

index f2a38764a9423e837dcc939a1751a6ea5e86963a..369c36a9b1c4958947d1aec368e5933de2913cc7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -15,24 +15,36 @@ LSRCFILES = configure configure.in Makepkgs aclocal.m4 install-sh README VERSION
 LDIRT = config.log .dep config.status config.cache confdefs.h conftest* \
        Logs/* built .census install.* install-dev.* *.gz
 
-SUBDIRS = include libxfs libxlog libxcmd libhandle libdisk \
-       copy db estimate fsck growfs io logprint mkfs quota mdrestore repair rtcp \
-       m4 man doc po debian build
+LIB_SUBDIRS = include libxfs libxlog libxcmd libhandle libdisk
+TOOL_SUBDIRS = copy db estimate fsck growfs io logprint mkfs quota \
+               mdrestore repair rtcp m4 man doc po debian build
 
-default: $(CONFIGURE)
+SUBDIRS = $(LIB_SUBDIRS) $(TOOL_SUBDIRS)
+
+default: include/builddefs include/platform_defs.h
 ifeq ($(HAVE_BUILDDEFS), no)
        $(MAKE) -C . $@
 else
-       $(SUBDIRS_MAKERULE)
+       $(MAKE) $(SUBDIRS)
 endif
 
+# tool/lib dependencies
+libxcmd: include
+copy mdrestore: libxfs
+db logprint: libxfs libxlog
+growfs: libxfs libxcmd
+io: libxcmd libhandle
+mkfs: libxfs libdisk
+quota: libxcmd
+repair: libxfs libxlog
+
 ifeq ($(HAVE_BUILDDEFS), yes)
 include $(BUILDRULES)
 else
 clean: # if configure hasn't run, nothing to clean
 endif
 
-$(CONFIGURE):
+include/builddefs:
        autoconf
        ./configure \
                --prefix=/ \
@@ -48,19 +60,32 @@ $(CONFIGURE):
                $$LOCAL_CONFIGURE_OPTIONS
        touch .census
 
+include/platform_defs.h: include/builddefs
+## Recover from the removal of $@
+       @if test -f $@; then :; else \
+               rm -f include/builddefs; \
+               $(MAKE) $(AM_MAKEFLAGS) include/builddefs; \
+       fi
+
 aclocal.m4::
        aclocal --acdir=`pwd`/m4 --output=$@
 
-install: default
-       $(SUBDIRS_MAKERULE)
+install: default $(addsuffix -install,$(SUBDIRS))
        $(INSTALL) -m 755 -d $(PKG_DOC_DIR)
        $(INSTALL) -m 644 README $(PKG_DOC_DIR)
 
-install-dev: default
-       $(SUBDIRS_MAKERULE)
+install-dev: default $(addsuffix -install-dev,$(SUBDIRS))
+
+install-qa: install $(addsuffix -install-qa,$(SUBDIRS))
+
+%-install:
+       $(MAKE) -C $* install
+
+%-install-dev:
+       $(MAKE) -C $* install-dev
 
-install-qa: install
-       $(SUBDIRS_MAKERULE)
+%-install-qa:
+       $(MAKE) -C $* install-qa
 
 realclean distclean: clean
        rm -f $(LDIRT) $(CONFIGURE)
index 0da451bfc80c20feb123cf7899ca291d5ad363e9..6c1fc6bd1b50e5ce4da441e30012e84a5b0ba191 100644 (file)
@@ -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 \
index 1bc5cf86b316bce8a7e6c1044c6bc069a47b6994..7155b213bdd9a8a5e76421bea280f294c680cb3a 100644 (file)
@@ -6,16 +6,19 @@ _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
 
 #
@@ -69,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
index 42a0be1c5d877ec060f0f7bd6735f20c6a3ab4a6..2b5e89c2ee16378f725af43e210f6ea946dcd919 100644 (file)
@@ -7,7 +7,16 @@ include $(TOPDIR)/include/builddefs
 
 SUBDIRS = man3 man5 man8
 
-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)