public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] kbuild: hide commands to run Kconfig, and show short log for syncconfig
@ 2020-08-21  2:43 Masahiro Yamada
  2020-08-26 13:45 ` Masahiro Yamada
  0 siblings, 1 reply; 2+ messages in thread
From: Masahiro Yamada @ 2020-08-21  2:43 UTC (permalink / raw)
  To: linux-kbuild; +Cc: Ingo Molnar, Masahiro Yamada, Michal Marek, linux-kernel

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                 |  5 ++++-
 scripts/kconfig/Makefile | 16 ++++++++--------
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/Makefile b/Makefile
index 9cac6fde3479..0693314d51c3 100644
--- a/Makefile
+++ b/Makefile
@@ -708,8 +708,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.
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 52b59bf9efe4..e46df0a2d4f9 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -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
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] kbuild: hide commands to run Kconfig, and show short log for syncconfig
  2020-08-21  2:43 [PATCH] kbuild: hide commands to run Kconfig, and show short log for syncconfig Masahiro Yamada
@ 2020-08-26 13:45 ` Masahiro Yamada
  0 siblings, 0 replies; 2+ messages in thread
From: Masahiro Yamada @ 2020-08-26 13:45 UTC (permalink / raw)
  To: Linux Kbuild mailing list
  Cc: Ingo Molnar, Michal Marek, Linux Kernel Mailing List

On Fri, Aug 21, 2020 at 11:44 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> 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>


Applied to linux-kbuild.



> ---
>
>  Makefile                 |  5 ++++-
>  scripts/kconfig/Makefile | 16 ++++++++--------
>  2 files changed, 12 insertions(+), 9 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 9cac6fde3479..0693314d51c3 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -708,8 +708,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.
> diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
> index 52b59bf9efe4..e46df0a2d4f9 100644
> --- a/scripts/kconfig/Makefile
> +++ b/scripts/kconfig/Makefile
> @@ -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
> --
> 2.25.1
>


-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-08-26 13:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-21  2:43 [PATCH] kbuild: hide commands to run Kconfig, and show short log for syncconfig Masahiro Yamada
2020-08-26 13:45 ` Masahiro Yamada

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox