Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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

+10-1
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)