Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e8564ef

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 6d85bb1 commit e8564ef

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
@@ -338,7 +338,16 @@ endif
338338
else # PORTNAME == aix
339339

340340
# AIX case
341-
$(shlib) $(stlib): $(OBJS) | $(SHLIB_PREREQS)
341+
342+
# There is no correct way to write a rule that generates two files.
343+
# Rules with two targets don't have that meaning, they are merely
344+
# shorthand for two otherwise separate rules. To be safe for parallel
345+
# make, we must chain the dependencies like this. The semicolon is
346+
# important, otherwise make will choose some built-in rule.
347+
348+
$(stlib): $(shlib) ;
349+
350+
$(shlib): $(OBJS) | $(SHLIB_PREREQS)
342351
rm -f $(stlib)
343352
$(LINK.static) $(stlib) $^
344353
$(RANLIB) $(stlib)

0 commit comments

Comments
 (0)