Commit 50ef0cdf authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

kbuild: fix missed rebuild of modules.builtin



Unlike modules.order, modules.builtin is not rebuilt every time.
Once modules.builtin is created, it will not be updated until
auto.conf or tristate.conf is changed.

So, it does not  notice a change in Makefile, for example, the rename
of modules.

Kbuild must always descend into directories for modules.builtin too.

Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent c2341e2a
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -1292,12 +1292,16 @@ modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
	$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/modules-check.sh

modules.builtin: $(vmlinux-dirs:%=%/modules.builtin)
	$(Q)$(AWK) '!x[$$0]++' $^ > $(objtree)/modules.builtin
modbuiltin-dirs := $(addprefix _modbuiltin_, $(vmlinux-dirs))

%/modules.builtin: include/config/auto.conf include/config/tristate.conf
	$(Q)$(MAKE) $(modbuiltin)=$*
modules.builtin: $(modbuiltin-dirs)
	$(Q)$(AWK) '!x[$$0]++' $(addsuffix /$@, $(vmlinux-dirs)) > $@

PHONY += $(modbuiltin-dirs)
# tristate.conf is not included from this Makefile. Add it as a prerequisite
# here to make it self-healing in case somebody accidentally removes it.
$(modbuiltin-dirs): include/config/tristate.conf
	$(Q)$(MAKE) $(modbuiltin)=$(patsubst _modbuiltin_%,%,$@)

# Target to prepare building external modules
PHONY += modules_prepare