Commit 3041e47e8b08d51188b2cbdbd9c1e6f43314c8f1

Authored by Roman Zippel
Committed by Sam Ravnborg
1 parent ac031f26e8

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>

Showing 1 changed file with 4 additions and 0 deletions Side-by-side Diff

... ... @@ -446,7 +446,11 @@
446 446 # if auto.conf.cmd is missing then we are probarly in a cleaned tree so
447 447 # we execute the config step to be sure to catch updated Kconfig files
448 448 include/config/auto.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
  449 +ifeq ($(KBUILD_EXTMOD),)
449 450 $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
  451 +else
  452 + $(error kernel configuration not valid - run 'make prepare' in $(srctree) to update it)
  453 +endif
450 454  
451 455 else
452 456 # Dummy target needed, because used as prerequisite