mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
kbuild: move modules.builtin(.modinfo) rules to Makefile.vmlinux_o
Do not build modules.builtin(.modinfo) as a side-effect of vmlinux. There are no good reason to rebuild them just because any of vmlinux's prerequistes (vmlinux.lds, .vmlinux.export.c, etc.) has been updated. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
PHONY := __default
|
||||
__default: vmlinux.o
|
||||
__default: vmlinux.o modules.builtin.modinfo modules.builtin
|
||||
|
||||
include include/config/auto.conf
|
||||
include $(srctree)/scripts/Kbuild.include
|
||||
@@ -62,6 +62,30 @@ vmlinux.o: $(initcalls-lds) vmlinux.a $(KBUILD_VMLINUX_LIBS) FORCE
|
||||
|
||||
targets += vmlinux.o
|
||||
|
||||
# module.builtin.modinfo
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
OBJCOPYFLAGS_modules.builtin.modinfo := -j .modinfo -O binary
|
||||
|
||||
targets += modules.builtin.modinfo
|
||||
modules.builtin.modinfo: vmlinux.o FORCE
|
||||
$(call if_changed,objcopy)
|
||||
|
||||
# module.builtin
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# The second line aids cases where multiple modules share the same object.
|
||||
|
||||
quiet_cmd_modules_builtin = GEN $@
|
||||
cmd_modules_builtin = \
|
||||
tr '\0' '\n' < $< | \
|
||||
sed -n 's/^[[:alnum:]:_]*\.file=//p' | \
|
||||
tr ' ' '\n' | uniq | sed -e 's:^:kernel/:' -e 's/$$/.ko/' > $@
|
||||
|
||||
targets += modules.builtin
|
||||
modules.builtin: modules.builtin.modinfo FORCE
|
||||
$(call if_changed,modules_builtin)
|
||||
|
||||
# Add FORCE to the prequisites of a target to force it to be always rebuilt.
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user