History

scripts/kconfig/Makefile: Fix KBUILD_DEFCONFIG check when building with O=

My recent commit d2036f30cfe1 ("scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target"), contained a bug in that when it checks if KBUILD_DEFCONFIG is a file it forgets to prepend $(srctree) to the path. This causes the build to fail when building out of tree (with O=), and when the value of KBUILD_DEFCONFIG is 'defconfig'. In that case we will fail to find the 'defconfig' file, because we look in the build directory not $(srctree), and so we will call Make again with 'defconfig' as the target. From there we loop infinitely calling 'make defconfig' again and again. The fix is simple, we need to look for the file under $(srctree).

Michael Ellerman committed 11 years ago

Commit bd960f01 parent 891121e1 file · +1 −1Browse files

Showing the changes to scripts (1 of 1 file). Show all

Unified · Split

scripts/kconfig/Makefile+1−1
@@ -96,7 +96,7 @@ savedefconfig: $(obj)/conf · 95 unmodified lines
96defconfig: $(obj)/conf96defconfig: $(obj)/conf
97ifeq ($(KBUILD_DEFCONFIG),)97ifeq ($(KBUILD_DEFCONFIG),)
98 $< $(silent) --defconfig $(Kconfig)98 $< $(silent) --defconfig $(Kconfig)
99else ifneq ($(wildcard arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),)99else ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),)
100 @$(kecho) "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'"100 @$(kecho) "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'"
101 $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig)101 $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig)
102else102else