aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2018-07-20 16:46:32 +0900
committerMasahiro Yamada <yamada.masahiro@socionext.com>2018-07-25 23:25:31 +0900
commit0a16d2e8cb7e6310debc208d42ff725361ae1911 (patch)
tree6885bc6aa40310214934338cb346720036dac84b /Makefile
parentkconfig: allow all config targets to write auto.conf if missing (diff)
downloadlinux-dev-0a16d2e8cb7e6310debc208d42ff725361ae1911.tar.xz
linux-dev-0a16d2e8cb7e6310debc208d42ff725361ae1911.zip
kbuild: use 'include' directive to load auto.conf from top Makefile
When you build targets that require the kernel configuration, dot-config is set to 1, then the top-level Makefile includes auto.conf. However, Make considers its inclusion is optional because the '-include' directive is used here. If a necessary configuration file is missing for the external module building, the following error message is displayed: 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. However, Make still continues building; /bin/false let the creation of 'include/config/auto.config' fail, but Make can ignore the error since it is included by the '-include' directive. I guess the reason of using '-include' directive was to suppress the warning when you build the kernel from a pristine source tree: Makefile:605: include/config/auto.conf: No such file or directory The previous commit made sure include/config/auto.conf exists after the 'make *config' stage. Now, we can use the 'include' directive without showing the warning. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index a89d8a0d3ee1..6a222e21ca6d 100644
--- a/Makefile
+++ b/Makefile
@@ -584,7 +584,7 @@ virt-y := virt/
endif # KBUILD_EXTMOD
ifeq ($(dot-config),1)
--include include/config/auto.conf
+include include/config/auto.conf
endif
# The all: target is the default when no target is given on the