History

kbuild: do not suppress Kconfig prompts for silent build

When a new CONFIG option is available, Kbuild shows a prompt to get the user input. $ make [ snip ] Core Scheduling for SMT (SCHED_CORE) [N/y/?] (NEW) This is the only interactive place in the build process. Commit 174a1dcc9642 ("kbuild: sink stdout from cmd for silent build") suppressed Kconfig prompts as well because syncconfig is invoked by the 'cmd' macro. You cannot notice the fact that Kconfig is waiting for the user input. Use 'kecho' to show the equivalent short log without suppressing stdout from sub-make.

Masahiro Yamada committed 5 years ago

Commit d952cfa1 parent 5df99be1 file · +5 −4Browse files

Unified · Split

Makefile+5−4
@@ -728,11 +728,12 @@ $(KCONFIG_CONFIG): · 727 unmodified lines
728# This exploits the 'multi-target pattern rule' trick.728# This exploits the 'multi-target pattern rule' trick.
729# The syncconfig should be executed only once to make all the targets.729# The syncconfig should be executed only once to make all the targets.
730# (Note: use the grouped target '&:' when we bump to GNU Make 4.3)730# (Note: use the grouped target '&:' when we bump to GNU Make 4.3)
731quiet_cmd_syncconfig = SYNC $@731#
732 cmd_syncconfig = $(MAKE) -f $(srctree)/Makefile syncconfig732# Do not use $(call cmd,...) here. That would suppress prompts from syncconfig,
733 733# so you cannot notice that Kconfig is waiting for the user input.
734%/config/auto.conf %/config/auto.conf.cmd %/generated/autoconf.h: $(KCONFIG_CONFIG)734%/config/auto.conf %/config/auto.conf.cmd %/generated/autoconf.h: $(KCONFIG_CONFIG)
735 +$(call cmd,syncconfig)735 $(Q)$(kecho) " SYNC $@"
736 $(Q)$(MAKE) -f $(srctree)/Makefile syncconfig
736else # !may-sync-config737else # !may-sync-config
737# External modules and some install targets need include/generated/autoconf.h738# External modules and some install targets need include/generated/autoconf.h
738# and include/config/auto.conf but do not care if they are up-to-date.739# and include/config/auto.conf but do not care if they are up-to-date.