On 2022-12-28 10:07:19 -0500, NightStrike wrote:
> On Wed, Dec 28, 2022, 06:46 Vincent Lefevre <vincent@vinc17.net> wrote:
> > Perhaps, but the issue with ".NOTPARALLEL" is that it applies to
> > the full Makefile, in case one just wants to serialize some tests.
>
> You can give it prerequisites to overcome that.
This is not possible. From the GNU make manual:
'.NOTPARALLEL'
If '.NOTPARALLEL' is mentioned as a target, then this invocation of
'make' will be run serially, even if the '-j' option is given. Any
recursively invoked 'make' command will still run recipes in
parallel (unless its makefile also contains this target). Any
prerequisites on this target are ignored.
The current documentation on the link I sent says otherwise, so I guess this is a newer feature.
The NEWS file has this to say, which implies WAIT can also be used to similar effect:
* New feature: .NOTPARALLEL accepts prerequisites
If the .NOTPARALLEL special target has prerequisites then all prerequisites
of those targets will be run serially (as if .WAIT was specified between
each prerequisite).