public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Eric Sandeen <sandeen@sandeen.net>
To: xfs-oss <xfs@oss.sgi.com>
Subject: [PATCH 7/7] xfstests parallel build
Date: Mon, 17 Nov 2008 22:03:12 -0600	[thread overview]
Message-ID: <49223E80.5080504@sandeen.net> (raw)
In-Reply-To: <49223C13.2080507@sandeen.net>

Allow parallel builds of the xfstests package

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
---

Index: xfs-cmds/xfstests/Makefile
===================================================================
--- xfs-cmds.orig/xfstests/Makefile
+++ xfs-cmds/xfstests/Makefile
@@ -16,31 +16,44 @@ LSRCFILES = configure configure.in acloc
 LDIRT = config.log .dep config.status config.cache confdefs.h conftest* \
 	check.log check.time
 
-SUBDIRS = include lib ltp src m4
+LIB_SUBDIRS = include lib
+TOOL_SUBDIRS = ltp src m4
 
-default: $(CONFIGURE) $(DMAPI_MAKEFILE) new remake check $(TESTS)
+SUBDIRS = $(LIB_SUBDIRS) $(TOOL_SUBDIRS)
+
+default: include/builddefs include/config.h $(DMAPI_MAKEFILE) new remake check $(TESTS)
 ifeq ($(HAVE_BUILDDEFS), no)
 	$(MAKE) $@
 else
-	$(SUBDIRS_MAKERULE)
+	$(MAKE) $(SUBDIRS)
 	# automake doesn't always support "default" target 
 	# so do dmapi make explicitly with "all"
-	cd $(TOPDIR)/dmapi; make all
+	$(MAKE) -C $(TOPDIR)/dmapi all
 endif
 
+# tool/lib dependencies
+src ltp: lib
+
 ifeq ($(HAVE_BUILDDEFS), yes)
 include $(BUILDRULES)
 else
 clean:  # if configure hasn't run, nothing to clean
 endif
 
-$(CONFIGURE):
+include/builddefs.h:
 	autoheader
 	autoconf
 	./configure \
                 --libexecdir=/usr/lib \
                 --enable-lib64=yes
 
+include/config.h: include/builddefs
+## Recover from the removal of $@
+	@if test -f $@; then :; else \
+		rm -f include/builddefs; \
+		$(MAKE) $(AM_MAKEFLAGS) include/builddefs; \
+	fi
+
 $(DMAPI_MAKEFILE):
 	cd $(TOPDIR)/dmapi/ ; ./configure
 
Index: xfs-cmds/xfstests/include/buildmacros
===================================================================
--- xfs-cmds.orig/xfstests/include/buildmacros
+++ xfs-cmds/xfstests/include/buildmacros
@@ -122,14 +122,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: xfs-cmds/xfstests/include/buildrules
===================================================================
--- xfs-cmds.orig/xfstests/include/buildrules
+++ xfs-cmds/xfstests/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

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  parent reply	other threads:[~2008-11-18  4:03 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-18  3:52 [PATCH 0/7] xfs-cmds parallel build patches Eric Sandeen
2008-11-18  3:55 ` [PATCH 1/7] attr parallel build Eric Sandeen
2008-11-18  3:56 ` [PATCH 2/7] acl " Eric Sandeen
2008-11-18  3:57 ` PATCH 3/7] xfsprogs " Eric Sandeen
2008-11-18  3:58 ` [PATCH 4/7] dmapi " Eric Sandeen
2008-11-18  4:00 ` [PATCH 5/7] xfsdump " Eric Sandeen
2008-11-18  4:01 ` [PATCH 6/7] nfs4acl " Eric Sandeen
2008-11-18  4:03 ` Eric Sandeen [this message]
     [not found]   ` <op.ukx09mh13jf8g2@pc-bnaujok.melbourne.sgi.com>
2008-11-21  0:48     ` [PATCH 7/7] xfstests " Eric Sandeen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49223E80.5080504@sandeen.net \
    --to=sandeen@sandeen.net \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox