Skip to content
Tech News
← Back to articles

Blog post details how GNU Make's -j jobserver behaves across recursive make calls

read original more articles
GoKawiil Brief

A developer investigated how recursive invocations of GNU Make handle the -j parallelism flag across versions 3.81 through 4.3. Without a '+' prefix or use of $(MAKE), recent GNU Make versions warn that the jobserver is unavailable and fall back to -j1, losing parallelism and not necessarily invoking the same make binary. The post includes test Makefiles used to compare behavior when different -j values are set on the command line versus inside recursive recipes.

Why It Matters

GoKawiil's interpretation of the reporting above, not reported fact.

The findings highlight a subtle but common pitfall in build systems: developers writing recursive Makefiles may unknowingly lose intended parallel build speed unless they use '+' or $(MAKE) syntax. This kind of detail could affect build times and reproducibility across projects using different GNU Make versions, especially in CI environments where make versions vary.

Key Takeaways

Source: quuxplusone.github.io — Arthur O Dwyer, 2026-09-30

Published there as: “Recursive `make` and `-j`”

Read the original report → The summary and analysis above are GoKawiil's own, written from reporting by the source above. Facts and quotes belong to the original publisher.