[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: filtering job options from MAKEFLAGS, manually
From: |
David Boyce |
Subject: |
Re: filtering job options from MAKEFLAGS, manually |
Date: |
Wed, 23 Jan 2019 20:54:29 -0500 |
Yes, -j1 is the right and obvious solution but I think you have
.NOTPARALLEL completely backwards. Here's what the manual says:
If .NOTPARALLEL is mentioned as a target, then this invocation of make will
be run serially, even if the ā-jā option is given ... Any prerequisites on
this target are ignored.
On Wed, Jan 23, 2019 at 5:10 PM Laszlo Ersek <address@hidden> wrote:
> On 01/23/19 15:45, David Boyce wrote:
> > And don't forget that many clever things can be done with --exec, e.g.
> > "--exec .NOTPARALLEL:". But -j1 seems simpler in this case.
> >
> > On Wed, Jan 23, 2019 at 8:51 AM Paul Smith <address@hidden> wrote:
> >
> >> On Wed, 2019-01-23 at 11:24 +0100, Laszlo Ersek wrote:
> >>> Would it be safe / robust to filter out "-j" and "--jobserver-fds=3,4"
> >>> as well, manually? (E.g. by sticking a shell script between the outer
> >>> and inner make processes.)
> >>
> >> Why not simply add "-j1" explicitly to the inner-make invocation? That
> >> will disable the job server.
> >>
> >>> In particular, "--jobserver-fds" is not documented in end-user
> >>> documentation, apparently, so I get a feeling this option could
> >>> change at any time, as an implementation detail of distributing jobs.
> >>
> >> In fact it DID change, in GNU make 4.2, to be --jobserver-auth. At the
> >> same time this new option was published in the documentation and made
> >> an official part of the GNU make interface.
>
> Awesome, thank you both. Appending "-j1" to the command line of the
> inner make seems a lot simpler than spelling out the pre-requisites of
> .NOTPARALLEL.
>
> (In fact it crossed my mind that .NOTPARALLEL could be extended to a
> prerequisite-less form, like .SECONDARY: it would then apply to all
> targets. But, "-j1" should work fine.)
>
> Thank you!
> Laszlo
>