Re: multi-target with -j2
[email protected] Wed, 11 Jun 2025 10:15:34 +0200 (CEST)
| Newsgroups | gmane.comp.gnu.make.bugs |
|---|---|
| Message-ID | <alpine.DEB.2.20.2506111006510.2219@igor2priv> |
On Sun, 8 Jun 2025, Philip Guenther wrote: >> Attached is a minimal test case. When run with -j2, it executes the "foo1 >> foo2" rule twice, in parallel. > >Please verify that you're using a version of GNU make that's new >enough to support this functionality. It was added in version 4.3 and >the behavior was tweaked slightly in 4.4. > >On a system I have with version 4.4, I see the expected behavior with >your supplied makefile: > >$ make -j2 >date > foo1 >sleep 1 >date > foo2 >cat foo1 foo2 > bar1 >cat foo1 foo2 > bar2 >$ > >If you believe you have a new enough version, please include the >output of "make --version" and information about your OS/distribution. Thank you, you are absolutely right! My make is 4.2.1 so I shouldn't expect features added in 4.3 to work. I'd like to modify my bugreport to two minor doc improvement suggestions: 1. please include "works from 4.3" for "&:" in the doc The problem is, older versions don't throw an error or warning. It seems old versions take it as a target called "&" and proceed with the normal ":" rule. If there's a notice in the doc that the feature is available only from 4.3., it's easier to figure why it doesn't work, even if old versions will not throw an error or warning. 2. doc clarificication on the normal ":" rule Same as point 2 in my original bugreport. I still think the doc should have a sentence that explains make does not understand that all targets are created by the rule. It's there implicitly, but I think it's not very easy to figure. TIA, Tibor Palinkas