From: Eric Sandeen <sandeen@sandeen.net>
To: xfs-oss <xfs@oss.sgi.com>
Subject: [PATCH 1/7] attr parallel build
Date: Mon, 17 Nov 2008 21:55:38 -0600 [thread overview]
Message-ID: <49223CBA.2080507@sandeen.net> (raw)
In-Reply-To: <49223C13.2080507@sandeen.net>
Allow parallel builds of the attr package
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
---
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
next prev parent reply other threads:[~2008-11-18 3:55 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 ` Eric Sandeen [this message]
2008-11-18 3:56 ` [PATCH 2/7] acl parallel build 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 ` [PATCH 7/7] xfstests " Eric Sandeen
[not found] ` <op.ukx09mh13jf8g2@pc-bnaujok.melbourne.sgi.com>
2008-11-21 0:48 ` 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=49223CBA.2080507@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