[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Makefile: ignore long options
From: |
Peter Maydell |
Subject: |
Re: [PATCH] Makefile: ignore long options |
Date: |
Sat, 24 Jul 2021 15:04:37 +0100 |
On Sat, 24 Jul 2021 at 07:16, Alexey Neyman <stilor@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 <stilor@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