Message ID | 20240917141725.466514-11-masahiroy@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | kbuild: support building external modules in a separate build directory | expand |
On Tue, Sep 17, 2024 at 11:16:38PM +0900, Masahiro Yamada wrote: > This commit refactors the check for missing configuration files, making > it easier to add more files to the list. > > The format of the error message has been slightly changed, as follows: > > [Before] > > ERROR: Kernel configuration is invalid. > include/generated/autoconf.h or include/config/auto.conf are missing. > Run 'make oldconfig && make prepare' on kernel src to fix it. > > [After] > > *** > *** ERROR: Kernel configuration is invalid. The following files are missing: > *** - include/generated/autoconf.h > *** - include/config/auto.conf > *** Run "make oldconfig && make prepare" on kernel source to fix it. > *** > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- > > Makefile | 21 +++++++++++++-------- > 1 file changed, 13 insertions(+), 8 deletions(-) Reviewed-by: Nicolas Schier <n.schier@avm.de>
diff --git a/Makefile b/Makefile index 4992b2895dd5..3f5c273c2901 100644 --- a/Makefile +++ b/Makefile @@ -778,17 +778,22 @@ $(KCONFIG_CONFIG): 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. -# Use auto.conf to trigger the test +# Use auto.conf to show the error message + +checked-configs := include/generated/autoconf.h include/config/auto.conf +missing-configs := $(filter-out $(wildcard $(checked-configs)), $(checked-configs)) + +ifdef missing-configs PHONY += include/config/auto.conf include/config/auto.conf: - @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.";\ - echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \ - echo >&2 ; \ - /bin/false) + @echo >&2 '***' + @echo >&2 '*** ERROR: Kernel configuration is invalid. The following files are missing:' + @printf >&2 '*** - %s\n' $(missing-configs) + @echo >&2 '*** Run "make oldconfig && make prepare" on kernel source to fix it.' + @echo >&2 '***' + @/bin/false +endif endif # may-sync-config endif # need-config
This commit refactors the check for missing configuration files, making it easier to add more files to the list. The format of the error message has been slightly changed, as follows: [Before] ERROR: Kernel configuration is invalid. include/generated/autoconf.h or include/config/auto.conf are missing. Run 'make oldconfig && make prepare' on kernel src to fix it. [After] *** *** ERROR: Kernel configuration is invalid. The following files are missing: *** - include/generated/autoconf.h *** - include/config/auto.conf *** Run "make oldconfig && make prepare" on kernel source to fix it. *** Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> --- Makefile | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-)