|
@@ -436,12 +436,13 @@ core-y := usr/
|
|
|
endif # KBUILD_EXTMOD
|
|
|
|
|
|
ifeq ($(dot-config),1)
|
|
|
-# In this section, we need .config
|
|
|
+# Read in config
|
|
|
+-include include/config/auto.conf
|
|
|
|
|
|
+ifeq ($(KBUILD_EXTMOD),)
|
|
|
# Read in dependencies to all Kconfig* files, make sure to run
|
|
|
# oldconfig if changes are detected.
|
|
|
-include include/config/auto.conf.cmd
|
|
|
--include include/config/auto.conf
|
|
|
|
|
|
# To avoid any implicit rule to kick in, define an empty command
|
|
|
$(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;
|
|
@@ -451,16 +452,27 @@ $(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;
|
|
|
# if auto.conf.cmd is missing then we are probably in a cleaned tree so
|
|
|
# we execute the config step to be sure to catch updated Kconfig files
|
|
|
include/config/auto.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
|
|
|
-ifeq ($(KBUILD_EXTMOD),)
|
|
|
$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
|
|
|
else
|
|
|
- $(error kernel configuration not valid - run 'make prepare' in $(srctree) to update it)
|
|
|
-endif
|
|
|
+# external modules needs include/linux/autoconf.h and include/config/auto.conf
|
|
|
+# but do not care if they are up-to-date. Use auto.conf to trigger the test
|
|
|
+PHONY += include/config/auto.conf
|
|
|
+
|
|
|
+include/config/auto.conf:
|
|
|
+ $(Q)test -e include/linux/autoconf.h -a -e $@ || ( \
|
|
|
+ echo; \
|
|
|
+ echo " ERROR: Kernel configuration is invalid."; \
|
|
|
+ echo " include/linux/autoconf.h or $@ are missing."; \
|
|
|
+ echo " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
|
|
|
+ echo; \
|
|
|
+ /bin/false)
|
|
|
+
|
|
|
+endif # KBUILD_EXTMOD
|
|
|
|
|
|
else
|
|
|
# Dummy target needed, because used as prerequisite
|
|
|
include/config/auto.conf: ;
|
|
|
-endif
|
|
|
+endif # $(dot-config)
|
|
|
|
|
|
# The all: target is the default when no target is given on the
|
|
|
# command line.
|