01d43a1f93
- Add protection from borken sys_ustat - Add final upstream versions of gfs2 & parallel build patches
190 lines
4.6 KiB
Diff
190 lines
4.6 KiB
Diff
|
|
w parallel builds of the xfsprogs package
|
|
|
|
I got tired of waiting for xfsprogs to build
|
|
serially...
|
|
|
|
On a 16p altix, make -j16 (excluding the configure
|
|
phase) went from 2m16s to 15s.
|
|
|
|
I tossed this into an rpm and did a fedora scratch
|
|
build on all arches, they all passed - some of them,
|
|
at least, should have been doing parallel builds too.
|
|
|
|
So this has had reasonable testing.
|
|
|
|
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
|
|
---
|
|
|
|
Index: xfs-cmds/xfsprogs/Makefile
|
|
===================================================================
|
|
--- xfs-cmds.orig/xfsprogs/Makefile
|
|
+++ xfs-cmds/xfsprogs/Makefile
|
|
@@ -15,24 +15,36 @@ LSRCFILES = configure configure.in Makep
|
|
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 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 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,16 +60,27 @@ $(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:
|
|
+ $(MAKE) -C $* install
|
|
+
|
|
+%-install-dev:
|
|
+ $(MAKE) -C $* install-dev
|
|
|
|
realclean distclean: clean
|
|
rm -f $(LDIRT) $(CONFIGURE)
|
|
Index: xfs-cmds/xfsprogs/include/buildrules
|
|
===================================================================
|
|
--- xfs-cmds.orig/xfsprogs/include/buildrules
|
|
+++ xfs-cmds/xfsprogs/include/buildrules
|
|
@@ -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: xfs-cmds/xfsprogs/include/buildmacros
|
|
===================================================================
|
|
--- xfs-cmds.orig/xfsprogs/include/buildmacros
|
|
+++ xfs-cmds/xfsprogs/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 \
|
|
Index: xfs-cmds/xfsprogs/man/Makefile
|
|
===================================================================
|
|
--- xfs-cmds.orig/xfsprogs/man/Makefile
|
|
+++ xfs-cmds/xfsprogs/man/Makefile
|
|
@@ -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)
|
|
|
|
_______________________________________________
|
|
xfs mailing list
|
|
xfs@oss.sgi.com
|
|
http://oss.sgi.com/mailman/listinfo/xfs
|
|
|
|
|