kbuild: do not create empty modules.order in the prepare stage
Currently, $(objtree)/modules.order is touched in two places. In the 'prepare0' rule, scripts/Makefile.build creates an empty modules.order while processing 'obj=.' In the 'modules' rule, the top-level Makefile overwrites it with the correct list of modules. While this might be a good side-effect that modules.order is made empty every time (probably this is not intended functionality), I personally do not like this behavior. Create modules.order only when it is sensible to do so. This avoids creating the following pointless files: scripts/basic/modules.order scripts/dtc/modules.order scripts/gcc-plugins/modules.order scripts/genksyms/modules.order scripts/mod/modules.order scripts/modules.order scripts/selinux/genheaders/modules.order scripts/selinux/mdp/modules.order scripts/selinux/modules.order Going forward, $(objtree)/modules.order lists the modules that was built in the last successful build. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
parent
d09778d16e
commit
7e13191879
4
Makefile
4
Makefile
|
@ -1072,7 +1072,7 @@ $(sort $(vmlinux-deps)): $(vmlinux-dirs) ;
|
|||
|
||||
PHONY += $(vmlinux-dirs)
|
||||
$(vmlinux-dirs): prepare
|
||||
$(Q)$(MAKE) $(build)=$@ need-builtin=1
|
||||
$(Q)$(MAKE) $(build)=$@ need-builtin=1 need-modorder=1
|
||||
|
||||
filechk_kernel.release = \
|
||||
echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"
|
||||
|
@ -1616,7 +1616,7 @@ $(objtree)/Module.symvers:
|
|||
module-dirs := $(addprefix _module_,$(KBUILD_EXTMOD))
|
||||
PHONY += $(module-dirs) modules
|
||||
$(module-dirs): prepare $(objtree)/Module.symvers
|
||||
$(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
|
||||
$(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@) need-modorder=1
|
||||
|
||||
modules: $(module-dirs)
|
||||
@$(kecho) ' Building modules, stage 2.';
|
||||
|
|
|
@ -63,7 +63,7 @@ ifneq ($(strip $(real-obj-y) $(need-builtin)),)
|
|||
builtin-target := $(obj)/built-in.a
|
||||
endif
|
||||
|
||||
ifdef CONFIG_MODULES
|
||||
ifeq ($(CONFIG_MODULES)$(need-modorder),y1)
|
||||
modorder-target := $(obj)/modules.order
|
||||
endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue