浏览代码

kbuild: fix silentoldconfig recursion

kconfig-fix-config-dependencies causes this:

make CC=cc  KBUILD_VERBOSE=1 -C /usr/src/25 SUBDIRS=/home/akpm/NVIDIA-Linux-x86_64-1.0-8762-pkg2/usr/src/nv modules
make -f /usr/src/devel/Makefile silentoldconfig
make -f /usr/src/devel/Makefile silentoldconfig
make -f /usr/src/devel/Makefile silentoldconfig

The basic problem is if we compile external modules, config-targets isn't
set which can cause recursive calls to silentoldconfig to update the
kernel configuration.

Bail out and ask the user to update manually.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Roman Zippel 19 年之前
父节点
当前提交
3041e47e8b
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      Makefile

+ 4 - 0
Makefile

@@ -446,7 +446,11 @@ $(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;
 # if auto.conf.cmd is missing then we are probarly 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
 
 else
 # Dummy target needed, because used as prerequisite