On Sat, 24 Jul 2021 at 07:16, Alexey Neyman <sti...@att.net> wrote: > > Patch ping...
Ccing Paolo as author of this bit of code... > On 7/21/21 9:05 PM, Alexey Neyman wrote: > > When searching for options like -n in MAKEFLAGS, current code may result > > in a false positive match when make is invoked with long options like > > --no-print-directory. This has been observed with certain versions of > > host make (e.g. 3.82) while building the Qemu package in buildroot. > > > > Filter out such long options before searching for one-character options. > > > > Signed-off-by: Alexey Neyman <sti...@att.net> > > --- > > Makefile | 8 +++++--- > > 1 file changed, 5 insertions(+), 3 deletions(-) > > > > diff --git a/Makefile b/Makefile > > index 6c36330eef..401c623a65 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -129,9 +129,11 @@ endif > > # 4. Rules to bridge to other makefiles > > > > ifneq ($(NINJA),) > > -MAKE.n = $(findstring n,$(firstword $(MAKEFLAGS))) > > -MAKE.k = $(findstring k,$(firstword $(MAKEFLAGS))) > > -MAKE.q = $(findstring q,$(firstword $(MAKEFLAGS))) > > +# Filter out long options to avoid flags like --no-print-directory which > > +# may result in false positive match for MAKE.n > > +MAKE.n = $(findstring n,$(firstword $(filter-out --%,$(MAKEFLAGS)))) > > +MAKE.k = $(findstring k,$(firstword $(filter-out --%,$(MAKEFLAGS)))) > > +MAKE.q = $(findstring q,$(firstword $(filter-out --%,$(MAKEFLAGS)))) > > MAKE.nq = $(if $(word 2, $(MAKE.n) $(MAKE.q)),nq) > > NINJAFLAGS = $(if $V,-v) $(if $(MAKE.n), -n) $(if $(MAKE.k), -k0) \ > > $(filter-out -j, $(lastword -j1 $(filter -l% -j%, $(MAKEFLAGS)))) > > \ > -- PMM