FROMGIT: kbuild: refactor the check for missing config files
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>
Reviewed-by: Nicolas Schier <n.schier@avm.de>
Tested-by: Miguel Ojeda <ojeda@kernel.org>
(cherry picked from commit ec873a4c551e2851adbafa27c89872255a891bf7
https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git kbuild)
Bug: 347787665
Signed-off-by: Matthew Maurer <mmaurer@google.com>
Change-Id: I0d7a3a6fb87ab498dca38f691560fe6c3abc2ec6
Signed-off-by: Matthew Maurer <mmaurer@google.com>
This commit is contained in:
committed by
Giuliano Procida
parent
28a494a675
commit
8e6a61a438
@@ -803,17 +803,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
|
||||
|
||||
Reference in New Issue
Block a user