On Tue, Jun 27, 2023 at 8:30 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > Currently, -w (--print-directory) option is ignored, but it is better > to respect the user's choice. > > This commit changes the behavior of "Entering directory ..." logging. > > If -w (or --print-directory) is given via the command line or the > MAKEFLAGS environment variable, print "Entering directory ..." for every > sub make. > > If --no-print-directory is given via the command line or the MAKEFLAGS > environment variable, suppress "Entering directory ..." completely. > > If none of them is given, print "Entering directory ..." when Kbuild > changes the working directory at the start of building. (default) > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > Tested-by: Nicolas Schier <n.schier@xxxxxx> > --- As it turns out, this patch does not work for GNU Make <= 4.3 I will drop (and give up) this patch. > > (no changes since v2) > > Changes in v2: > - new patch > > Makefile | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/Makefile b/Makefile > index 7edb00603b7e..c9864f83a3d2 100644 > --- a/Makefile > +++ b/Makefile > @@ -38,6 +38,12 @@ __all: > # descending is started. They are now explicitly listed as the > # prepare rule. > > +ifeq ($(filter 3.%,$(MAKE_VERSION)),) > +short-opts := $(firstword -$(MAKEFLAGS)) > +else > +short-opts := $(filter-out --%,$(MAKEFLAGS)) > +endif > + > this-makefile := $(lastword $(MAKEFILE_LIST)) > export abs_srctree := $(realpath $(dir $(this-makefile))) > export abs_objtree := $(CURDIR) > @@ -95,12 +101,6 @@ endif > # commands > # make-4.0 (and later) keep single letter options in the 1st word of MAKEFLAGS. > > -ifeq ($(filter 3.%,$(MAKE_VERSION)),) > -short-opts := $(firstword -$(MAKEFLAGS)) > -else > -short-opts := $(filter-out --%,$(MAKEFLAGS)) > -endif > - > ifneq ($(findstring s,$(short-opts)),) > quiet=silent_ > override KBUILD_VERBOSE := > @@ -215,12 +215,16 @@ else > need-sub-make := 1 > endif > > +ifeq ($(findstring w, $(short-opts)),) > ifeq ($(filter --no-print-directory, $(MAKEFLAGS)),) > # If --no-print-directory is unset, recurse once again to set it. > # You may end up recursing into __sub-make twice. This is needed due to the > # behavior change in GNU Make 4.4.1. > need-sub-make := 1 > endif > +else > +no-print-directory := > +endif > > ifeq ($(need-sub-make),1) > > -- > 2.39.2 > -- Best Regards Masahiro Yamada