Skip to content

Commit 98b7a3c

Browse files
committed
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).
1 parent e15e788 commit 98b7a3c

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/Makefile.shlib

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,16 @@ endif
357357
else # PORTNAME == aix
358358

359359
# AIX case
360-
$(shlib) $(stlib): $(OBJS) | $(SHLIB_PREREQS)
360+
361+
# There is no correct way to write a rule that generates two files.
362+
# Rules with two targets don't have that meaning, they are merely
363+
# shorthand for two otherwise separate rules. To be safe for parallel
364+
# make, we must chain the dependencies like this. The semicolon is
365+
# important, otherwise make will choose some built-in rule.
366+
367+
$(stlib): $(shlib) ;
368+
369+
$(shlib): $(OBJS) | $(SHLIB_PREREQS)
361370
rm -f $(stlib)
362371
$(LINK.static) $(stlib) $^
363372
$(RANLIB) $(stlib)

0 commit comments

Comments
 (0)