[PATCH] kbuild: hide error checker logs for V=1 builds

From: Masahiro Yamada
Date: Sat Sep 24 2022 - 04:25:53 EST


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@xxxxxxxxxx>
---

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