We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 6d85bb1 commit e8564efCopy full SHA for e8564ef
src/Makefile.shlib
@@ -338,7 +338,16 @@ endif
338
else # PORTNAME == aix
339
340
# AIX case
341
-$(shlib) $(stlib): $(OBJS) | $(SHLIB_PREREQS)
+
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)
351
rm -f $(stlib)
352
$(LINK.static) $(stlib) $^
353
$(RANLIB) $(stlib)
0 commit comments