aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile24
1 files changed, 18 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index c2f78a5a5493..c53ed568a33a 100644
--- a/Makefile
+++ b/Makefile
@@ -436,12 +436,13 @@ core-y := usr/
436endif # KBUILD_EXTMOD 436endif # KBUILD_EXTMOD
437 437
438ifeq ($(dot-config),1) 438ifeq ($(dot-config),1)
439# In this section, we need .config 439# Read in config
440-include include/config/auto.conf
440 441
442ifeq ($(KBUILD_EXTMOD),)
441# Read in dependencies to all Kconfig* files, make sure to run 443# Read in dependencies to all Kconfig* files, make sure to run
442# oldconfig if changes are detected. 444# oldconfig if changes are detected.
443-include include/config/auto.conf.cmd 445-include include/config/auto.conf.cmd
444-include include/config/auto.conf
445 446
446# To avoid any implicit rule to kick in, define an empty command 447# To avoid any implicit rule to kick in, define an empty command
447$(KCONFIG_CONFIG) include/config/auto.conf.cmd: ; 448$(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;
@@ -451,16 +452,27 @@ $(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;
451# if auto.conf.cmd is missing then we are probably in a cleaned tree so 452# if auto.conf.cmd is missing then we are probably in a cleaned tree so
452# we execute the config step to be sure to catch updated Kconfig files 453# we execute the config step to be sure to catch updated Kconfig files
453include/config/auto.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd 454include/config/auto.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
454ifeq ($(KBUILD_EXTMOD),)
455 $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig 455 $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
456else 456else
457 $(error kernel configuration not valid - run 'make prepare' in $(srctree) to update it) 457# external modules needs include/linux/autoconf.h and include/config/auto.conf
458endif 458# but do not care if they are up-to-date. Use auto.conf to trigger the test
459PHONY += include/config/auto.conf
460
461include/config/auto.conf:
462 $(Q)test -e include/linux/autoconf.h -a -e $@ || ( \
463 echo; \
464 echo " ERROR: Kernel configuration is invalid."; \
465 echo " include/linux/autoconf.h or $@ are missing."; \
466 echo " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
467 echo; \
468 /bin/false)
469
470endif # KBUILD_EXTMOD
459 471
460else 472else
461# Dummy target needed, because used as prerequisite 473# Dummy target needed, because used as prerequisite
462include/config/auto.conf: ; 474include/config/auto.conf: ;
463endif 475endif # $(dot-config)
464 476
465# The all: target is the default when no target is given on the 477# The all: target is the default when no target is given on the
466# command line. 478# command line.