diff mbox series

kbuild: hide error checker logs for V=1 builds

Message ID 20220924082425.3116757-1-masahiroy@kernel.org (mailing list archive)
State New, archived
Headers show
Series kbuild: hide error checker logs for V=1 builds | expand

Commit Message

Masahiro Yamada Sept. 24, 2022, 8:24 a.m. UTC
V=1 (verbose build) shows commands executed by Make, but it may cause
misunderstanding.

For example, the following command shows the outstanding error message.

  $ make V=1 INSTALL_PATH=/tmp install
  test -e include/generated/autoconf.h -a -e include/config/auto.conf || (                \
  echo >&2;                                                       \
  echo >&2 "  ERROR: Kernel configuration is invalid.";           \
  echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
  echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";      \
  echo >&2 ;                                                      \
  /bin/false)
    unset sub_make_done; ./scripts/install.sh

It is not an error. Make just showed the recipe lines it has executed,
but people may think that 'make install' has failed.

Likewise, the combination of V=1 and O= shows confusing
"*** The source tree is not clean, please run 'make mrproper'".

Suppress such misleading logs.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Nick Desaulniers Sept. 26, 2022, 9:44 p.m. UTC | #1
On Sat, Sep 24, 2022 at 1:25 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> V=1 (verbose build) shows commands executed by Make, but it may cause
> misunderstanding.
>
> For example, the following command shows the outstanding error message.
>
>   $ make V=1 INSTALL_PATH=/tmp install
>   test -e include/generated/autoconf.h -a -e include/config/auto.conf || (                \
>   echo >&2;                                                       \
>   echo >&2 "  ERROR: Kernel configuration is invalid.";           \
>   echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
>   echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";      \
>   echo >&2 ;                                                      \
>   /bin/false)
>     unset sub_make_done; ./scripts/install.sh
>
> It is not an error. Make just showed the recipe lines it has executed,
> but people may think that 'make install' has failed.
>
> Likewise, the combination of V=1 and O= shows confusing
> "*** The source tree is not clean, please run 'make mrproper'".
>
> Suppress such misleading logs.
>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>

Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>

> ---
>
>  Makefile | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index a5e9d9388649..833052fcf48a 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -583,7 +583,7 @@ quiet_cmd_makefile = GEN     Makefile
>         } > Makefile
>
>  outputmakefile:
> -       $(Q)if [ -f $(srctree)/.config -o \
> +       @if [ -f $(srctree)/.config -o \
>                  -d $(srctree)/include/config -o \
>                  -d $(srctree)/arch/$(SRCARCH)/include/generated ]; then \
>                 echo >&2 "***"; \
> @@ -739,7 +739,7 @@ else # !may-sync-config
>  PHONY += include/config/auto.conf
>
>  include/config/auto.conf:
> -       $(Q)test -e include/generated/autoconf.h -a -e $@ || (          \
> +       @test -e include/generated/autoconf.h -a -e $@ || (             \
>         echo >&2;                                                       \
>         echo >&2 "  ERROR: Kernel configuration is invalid.";           \
>         echo >&2 "         include/generated/autoconf.h or $@ are missing.";\
> --
> 2.34.1
>
Nicolas Schier Sept. 28, 2022, 6:46 p.m. UTC | #2
On Mon, 26 Sep 2022 14:44:46 -0700 Nick Desaulniers wrote:
> On Sat, Sep 24, 2022 at 1:25 AM Masahiro Yamada 
> <masahiroy@kernel.org> wrote:
> >
> > V=1 (verbose build) shows commands executed by Make, but it may cause
> > misunderstanding.
> >
> > For example, the following command shows the outstanding error message.
> >
> >   $ make V=1 INSTALL_PATH=/tmp install
> >   test -e include/generated/autoconf.h -a -e include/config/auto.conf || (                \
> >   echo >&2;                                                       \
> >   echo >&2 "  ERROR: Kernel configuration is invalid.";           \
> >   echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
> >   echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";      \
> >   echo >&2 ;                                                      \
> >   /bin/false)
> >     unset sub_make_done; ./scripts/install.sh
> >
> > It is not an error. Make just showed the recipe lines it has executed,
> > but people may think that 'make install' has failed.
> >
> > Likewise, the combination of V=1 and O= shows confusing
> > "*** The source tree is not clean, please run 'make mrproper'".
> >
> > Suppress such misleading logs.
> >
> > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> 
> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>

oh yes, thanks for that patch!

Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>

> > ---
> >
> >  Makefile | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/Makefile b/Makefile
> > index a5e9d9388649..833052fcf48a 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -583,7 +583,7 @@ quiet_cmd_makefile = GEN     Makefile
> >         } > Makefile
> >
> >  outputmakefile:
> > -       $(Q)if [ -f $(srctree)/.config -o \
> > +       @if [ -f $(srctree)/.config -o \
> >                  -d $(srctree)/include/config -o \
> >                  -d $(srctree)/arch/$(SRCARCH)/include/generated ]; then \
> >                 echo >&2 "***"; \
> > @@ -739,7 +739,7 @@ else # !may-sync-config
> >  PHONY += include/config/auto.conf
> >
> >  include/config/auto.conf:
> > -       $(Q)test -e include/generated/autoconf.h -a -e $@ || (          \
> > +       @test -e include/generated/autoconf.h -a -e $@ || (             \
> >         echo >&2;                                                       \
> >         echo >&2 "  ERROR: Kernel configuration is invalid.";           \
> >         echo >&2 "         include/generated/autoconf.h or $@ are missing.";\
> > --
> > 2.34.1
> >
> 
> 
> -- 
> Thanks,
> ~Nick Desaulniers
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index a5e9d9388649..833052fcf48a 100644
--- a/Makefile
+++ b/Makefile
@@ -583,7 +583,7 @@  quiet_cmd_makefile = GEN     Makefile
 	} > Makefile
 
 outputmakefile:
-	$(Q)if [ -f $(srctree)/.config -o \
+	@if [ -f $(srctree)/.config -o \
 		 -d $(srctree)/include/config -o \
 		 -d $(srctree)/arch/$(SRCARCH)/include/generated ]; then \
 		echo >&2 "***"; \
@@ -739,7 +739,7 @@  else # !may-sync-config
 PHONY += include/config/auto.conf
 
 include/config/auto.conf:
-	$(Q)test -e include/generated/autoconf.h -a -e $@ || (		\
+	@test -e include/generated/autoconf.h -a -e $@ || (		\
 	echo >&2;							\
 	echo >&2 "  ERROR: Kernel configuration is invalid.";		\
 	echo >&2 "         include/generated/autoconf.h or $@ are missing.";\