kbuild: hide commands to run Kconfig, and show short log for syncconfig
authorMasahiro Yamada <masahiroy@kernel.org>
Fri, 21 Aug 2020 02:43:58 +0000 (11:43 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Wed, 26 Aug 2020 15:44:33 +0000 (00:44 +0900)
Some targets (localyesconfig, localmodconfig, defconfig) hide the
command running, but the others do not.

Users know which Kconfig flavor they are running, so it is OK to hide
the command. Add $(Q) to all commands consistently. If you want to see
the full command running, pass V=1 from the command line.

syncconfig is the exceptional case, which occurs without explicit
command invocation by the user. Display the Kbuild-style log for it.
The ugly bare log will go away.

[Before]

scripts/kconfig/conf  --syncconfig Kconfig

[After]

  SYNC    include/config/auto.conf

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Makefile
scripts/kconfig/Makefile

index 4ef6a73e48a73431c549ba737d9e51e6838fafd3..d96f2feddbfbffba81bae328b9c50cdf7b073349 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -707,8 +707,11 @@ $(KCONFIG_CONFIG):
 # This exploits the 'multi-target pattern rule' trick.
 # The syncconfig should be executed only once to make all the targets.
 # (Note: use the grouped target '&:' when we bump to GNU Make 4.3)
+quiet_cmd_syncconfig = SYNC    $@
+      cmd_syncconfig = $(MAKE) -f $(srctree)/Makefile syncconfig
+
 %/config/auto.conf %/config/auto.conf.cmd %/generated/autoconf.h: $(KCONFIG_CONFIG)
-       $(Q)$(MAKE) -f $(srctree)/Makefile syncconfig
+       +$(call cmd,syncconfig)
 else # !may-sync-config
 # External modules and some install targets need include/generated/autoconf.h
 # and include/config/auto.conf but do not care if they are up-to-date.
index 52b59bf9efe41314cf2060ab2111e88c3447a61d..e46df0a2d4f9d200bee7ccaf3528431eca45206a 100644 (file)
@@ -20,19 +20,19 @@ endif
 unexport CONFIG_
 
 xconfig: $(obj)/qconf
-       $< $(silent) $(Kconfig)
+       $(Q)$< $(silent) $(Kconfig)
 
 gconfig: $(obj)/gconf
-       $< $(silent) $(Kconfig)
+       $(Q)$< $(silent) $(Kconfig)
 
 menuconfig: $(obj)/mconf
-       $< $(silent) $(Kconfig)
+       $(Q)$< $(silent) $(Kconfig)
 
 config: $(obj)/conf
-       $< $(silent) --oldaskconfig $(Kconfig)
+       $(Q)$< $(silent) --oldaskconfig $(Kconfig)
 
 nconfig: $(obj)/nconf
-       $< $(silent) $(Kconfig)
+       $(Q)$< $(silent) $(Kconfig)
 
 build_menuconfig: $(obj)/mconf
 
@@ -68,12 +68,12 @@ simple-targets := oldconfig allnoconfig allyesconfig allmodconfig \
 PHONY += $(simple-targets)
 
 $(simple-targets): $(obj)/conf
-       $< $(silent) --$@ $(Kconfig)
+       $(Q)$< $(silent) --$@ $(Kconfig)
 
 PHONY += savedefconfig defconfig
 
 savedefconfig: $(obj)/conf
-       $< $(silent) --$@=defconfig $(Kconfig)
+       $(Q)$< $(silent) --$@=defconfig $(Kconfig)
 
 defconfig: $(obj)/conf
 ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),)
@@ -111,7 +111,7 @@ tinyconfig:
 # CHECK: -o cache_dir=<path> working?
 PHONY += testconfig
 testconfig: $(obj)/conf
-       $(PYTHON3) -B -m pytest $(srctree)/$(src)/tests \
+       $(Q)$(PYTHON3) -B -m pytest $(srctree)/$(src)/tests \
        -o cache_dir=$(abspath $(obj)/tests/.cache) \
        $(if $(findstring 1,$(KBUILD_VERBOSE)),--capture=no)
 clean-files += tests/.cache