postgres.git / summary / log / commit / refs
commit a4daf59eef9845a93c73056f6983b375c2a41fe9
Author: Noah Misch <noah@leadboat.com>
Date: Sun Jul 24 00:30:03 2016 +0000
Make the AIX case of Makefile.shlib safe for parallel make.
Use our typical approach, from src/backend/parser. Back-patch to 9.1
(all supported versions).
src/Makefile.shlib | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/Makefile.shlib b/src/Makefile.shlib
index e728801f5fc..3b20df6388d 100644
--- a/src/Makefile.shlib
+++ b/src/Makefile.shlib
@@ -360,7 +360,16 @@ endif
else # PORTNAME == aix
# AIX case
-$(shlib) $(stlib): $(OBJS) | $(SHLIB_PREREQS)
+
+# There is no correct way to write a rule that generates two files.
+# Rules with two targets don't have that meaning, they are merely
+# shorthand for two otherwise separate rules. To be safe for parallel
+# make, we must chain the dependencies like this. The semicolon is
+# important, otherwise make will choose some built-in rule.
+
+$(stlib): $(shlib) ;
+
+$(shlib): $(OBJS) | $(SHLIB_PREREQS)
rm -f $(stlib)
$(LINK.static) $(stlib) $^
$(RANLIB) $(stlib)
[parent: a1e75055368e]