[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: multi-target with -j2
From: |
lmawk2 |
Subject: |
Re: multi-target with -j2 |
Date: |
Wed, 11 Jun 2025 10:15:34 +0200 (CEST) |
User-agent: |
Alpine 2.20 (DEB 67 2015-01-07) |
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