From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id mAI3to5D016702 for ; Mon, 17 Nov 2008 19:55:50 -0800 Received: from sandeen.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id BB022159255B for ; Mon, 17 Nov 2008 19:55:39 -0800 (PST) Received: from sandeen.net (sandeen.net [209.173.210.139]) by cuda.sgi.com with ESMTP id HCwagFNjU1iqRLWR for ; Mon, 17 Nov 2008 19:55:39 -0800 (PST) Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTP id 1695DAC3591 for ; Mon, 17 Nov 2008 21:55:39 -0600 (CST) Message-ID: <49223CBA.2080507@sandeen.net> Date: Mon, 17 Nov 2008 21:55:38 -0600 From: Eric Sandeen MIME-Version: 1.0 Subject: [PATCH 1/7] attr parallel build References: <49223C13.2080507@sandeen.net> In-Reply-To: <49223C13.2080507@sandeen.net> List-Id: XFS Filesystem from SGI List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: xfs-bounces@oss.sgi.com Errors-To: xfs-bounces@oss.sgi.com To: xfs-oss Allow parallel builds of the attr package Signed-off-by: Eric Sandeen --- Index: xfs-cmds/attr/Makefile =================================================================== --- xfs-cmds.orig/attr/Makefile +++ xfs-cmds/attr/Makefile @@ -16,23 +16,30 @@ LSRCFILES = configure configure.in acloc LDIRT = config.log .dep config.status config.cache confdefs.h conftest* \ Logs/* built .census install.* install-dev.* install-lib.* *.gz -SUBDIRS = include libmisc libattr attr getfattr setfattr \ - examples test m4 man doc po debian build +LIB_SUBDIRS = include libmisc libattr +TOOL_SUBDIRS = attr getfattr setfattr examples test m4 man doc po debian build -default: $(CONFIGURE) +SUBDIRS = $(LIB_SUBDIRS) $(TOOL_SUBDIRS) + +default: include/builddefs include/config.h ifeq ($(HAVE_BUILDDEFS), no) $(MAKE) -C . $@ else - $(SUBDIRS_MAKERULE) + $(MAKE) $(SUBDIRS) endif +# tool/lib dependencies +libattr: include +getfattr setfattr: libmisc libattr +attr: libattr + ifeq ($(HAVE_BUILDDEFS), yes) include $(BUILDRULES) else clean: # if configure hasn't run, nothing to clean endif -$(CONFIGURE): +include/builddefs: autoconf ./configure \ --prefix=/ \ @@ -48,16 +55,32 @@ $(CONFIGURE): $$LOCAL_CONFIGURE_OPTIONS touch .census +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 + 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 install-lib: default - $(SUBDIRS_MAKERULE) +install-dev: default $(addsuffix -install-dev,$(SUBDIRS)) + +install-lib: install $(addsuffix -install-lib,$(SUBDIRS)) + +%-install: + $(MAKE) -C $* install + +%-install-dev: + $(MAKE) -C $* install-dev + +%-install-lib: + $(MAKE) -C $* install-lib realclean distclean: clean rm -f $(LDIRT) $(CONFIGURE) Index: xfs-cmds/attr/include/buildrules =================================================================== --- xfs-cmds.orig/attr/include/buildrules +++ xfs-cmds/attr/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 Index: xfs-cmds/attr/man/Makefile =================================================================== --- xfs-cmds.orig/attr/man/Makefile +++ xfs-cmds/attr/man/Makefile @@ -7,7 +7,21 @@ include $(TOPDIR)/include/builddefs SUBDIRS = man1 man2 man3 man5 -default install install-dev install-lib: $(SUBDIRS) - $(SUBDIRS_MAKERULE) +default : $(SUBDIRS) + +install : $(addsuffix -install,$(SUBDIRS)) + +install-dev : $(addsuffix -install-dev,$(SUBDIRS)) + +install-lib : $(addsuffix -install-lib,$(SUBDIRS)) + +%-install: + $(MAKE) -C $* install + +%-install-dev: + $(MAKE) -C $* install-dev + +%-install-lib: + $(MAKE) -C $* install-lib include $(BUILDRULES) Index: xfs-cmds/attr/include/buildmacros =================================================================== --- xfs-cmds.orig/attr/include/buildmacros +++ xfs-cmds/attr/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 \ _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs