Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 752625cf authored by Sam Ravnborg's avatar Sam Ravnborg
Browse files

kbuild: always run 'make silentoldconfig' when tree is cleaned



If the file .kconfig.d is missing then make sure to run
'make silentoldconfig', since we have no way to detect if
a Kconfig file has been updated.

-kconfig.d is created by kconfig and is removed as part
of 'make clean' so the situation is likely to occur in reality.

Jan Beulich <JBeulich@novell.com> reported this bug.

Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
parent 54e08a23
Loading
Loading
Loading
Loading
+6 −4
Original line number Original line Diff line number Diff line
@@ -477,18 +477,20 @@ ifeq ($(dot-config),1)


# Read in dependencies to all Kconfig* files, make sure to run
# Read in dependencies to all Kconfig* files, make sure to run
# oldconfig if changes are detected.
# oldconfig if changes are detected.
-include .config.cmd
-include .kconfig.d


include .config
include .config


# If .config needs to be updated, it will be done via the dependency
# If .config needs to be updated, it will be done via the dependency
# that autoconf has on .config.
# that autoconf has on .config.
# To avoid any implicit rule to kick in, define an empty command
# To avoid any implicit rule to kick in, define an empty command
.config: ;
.config .kconfig.d: ;


# If .config is newer than include/linux/autoconf.h, someone tinkered
# If .config is newer than include/linux/autoconf.h, someone tinkered
# with it and forgot to run make oldconfig
# with it and forgot to run make oldconfig.
include/linux/autoconf.h: .config
# If kconfig.d 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/linux/autoconf.h: .kconfig.d .config
	$(Q)mkdir -p include/linux
	$(Q)mkdir -p include/linux
	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
else
else
+1 −1
Original line number Original line Diff line number Diff line
@@ -33,7 +33,7 @@ int file_write_dep(const char *name)
	FILE *out;
	FILE *out;


	if (!name)
	if (!name)
		name = ".config.cmd";
		name = ".kconfig.d";
	out = fopen("..config.tmp", "w");
	out = fopen("..config.tmp", "w");
	if (!out)
	if (!out)
		return 1;
		return 1;