summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog18
-rw-r--r--Makefile.in13
2 files changed, 26 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 498ad8df..5b8f19d2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2012-01-03 Ingo Schwarze <schwarze@usta.de>
+
+ Improve parallel builds.
+
+ Some hdtbl and mom examples want PostScript formatting which
+ requires the `DESC' file to be ready; however, the top-level
+ `Makefile.in' doesn't currently enforce the proper order of building
+ of `font/dev' before `contrib/hdtbl', `contrib/mom', and so on.
+
+ Given that `font/dev' and the contrib examples are in different
+ child processes of the recursive make system, it doesn't seem
+ possible to solve this using clean Makefile dependencies. We now
+ enforce the order by splitting the shell command invoking recursive
+ make in the top level `Makefile.in'.
+
+ * Makefile.in (ALLDIRS): Remove `OTHERDIRS'.
+ (`$(TARGETS)'): Handle `OTHERDIRS' separately.
+
2012-01-03 Kristaps Dzonsons <kristaps@bsd.lv>
[mdoc] Add `-isoC-2011'.
diff --git a/Makefile.in b/Makefile.in
index 6d229b19..5b8fe8ef 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 1989-2006, 2009-2011
+# Copyright (C) 1989-2006, 2009-2012
# Free Software Foundation, Inc.
# Written by James Clark (jjc@jclark.com)
#
@@ -617,6 +617,8 @@ OTHERDIRS=\
font/devpdf \
contrib/gdiffmk
+# OTHERDIRS is handled specially in the `$(TARGETS)' rule to avoid
+# dependency problems with parallel builds.
ALLDIRS=\
$(INCDIRS) \
$(LIBDIRS) \
@@ -624,8 +626,8 @@ ALLDIRS=\
$(DEVDIRS) \
$(XDEVDIRS) \
$(OTHERDEVDIRS) \
- $(TTYDEVDIRS) \
- $(OTHERDIRS)
+ $(TTYDEVDIRS)
+# $(OTHERDIRS)
EXTRADIRS=\
font/devps/generate \
font/devdvi/generate \
@@ -686,13 +688,14 @@ ENVSETUP=\
fi
do=all
-dodirs=$(ALLDIRS) dot
+dodirs=$(ALLDIRS) $(OTHERDIRS) dot
# Default target for subdir_Makefile
subdir=src/roff/troff
$(TARGETS):
- @$(ENVSETUP); $(MAKE) $(MAKE_K_FLAG) do=$@ $(dodirs)
+ @$(ENVSETUP); $(MAKE) $(MAKE_K_FLAG) do=$@ $(ALLDIRS)
+ @$(ENVSETUP); $(MAKE) $(MAKE_K_FLAG) do=$@ $(OTHERDIRS) dot
dot: FORCE
@$(ENVSETUP); \