File tree Expand file tree Collapse file tree 3 files changed +30
-9
lines changed Expand file tree Collapse file tree 3 files changed +30
-9
lines changed Original file line number Diff line number Diff line change @@ -1153,9 +1153,13 @@ targets += vmlinux.a
1153
1153
vmlinux.a : $(KBUILD_VMLINUX_OBJS ) scripts/head-object-list.txt autoksyms_recursive FORCE
1154
1154
$(call if_changed,ar_vmlinux.a)
1155
1155
1156
- vmlinux.o : vmlinux.a $(KBUILD_VMLINUX_LIBS ) FORCE
1156
+ PHONY += vmlinux_o
1157
+ vmlinux_o : vmlinux.a $(KBUILD_VMLINUX_LIBS )
1157
1158
$(Q )$(MAKE ) -f $(srctree ) /scripts/Makefile.vmlinux_o
1158
1159
1160
+ vmlinux.o modules.builtin.modinfo modules.builtin : vmlinux_o
1161
+ @:
1162
+
1159
1163
ARCH_POSTLINK := $(wildcard $(srctree ) /arch/$(SRCARCH ) /Makefile.postlink)
1160
1164
1161
1165
# Final link of vmlinux with optional arch pass after final link
Original file line number Diff line number Diff line change 1
1
# SPDX-License-Identifier: GPL-2.0-only
2
2
3
3
PHONY := __default
4
- __default: vmlinux.o
4
+ __default: vmlinux.o modules.builtin.modinfo modules.builtin
5
5
6
6
include include/config/auto.conf
7
7
include $(srctree)/scripts/Kbuild.include
@@ -62,6 +62,30 @@ vmlinux.o: $(initcalls-lds) vmlinux.a $(KBUILD_VMLINUX_LIBS) FORCE
62
62
63
63
targets += vmlinux.o
64
64
65
+ # module.builtin.modinfo
66
+ # ---------------------------------------------------------------------------
67
+
68
+ OBJCOPYFLAGS_modules.builtin.modinfo := -j .modinfo -O binary
69
+
70
+ targets += modules.builtin.modinfo
71
+ modules.builtin.modinfo: vmlinux.o FORCE
72
+ $(call if_changed,objcopy)
73
+
74
+ # module.builtin
75
+ # ---------------------------------------------------------------------------
76
+
77
+ # The second line aids cases where multiple modules share the same object.
78
+
79
+ quiet_cmd_modules_builtin = GEN $@
80
+ cmd_modules_builtin = \
81
+ tr '\0' '\n' < $< | \
82
+ sed -n 's/^[[:alnum:]:_]*\.file=//p' | \
83
+ tr ' ' '\n' | uniq | sed -e 's:^:kernel/:' -e 's/$$/.ko/' > $@
84
+
85
+ targets += modules.builtin
86
+ modules.builtin: modules.builtin.modinfo FORCE
87
+ $(call if_changed,modules_builtin)
88
+
65
89
# Add FORCE to the prequisites of a target to force it to be always rebuilt.
66
90
# ---------------------------------------------------------------------------
67
91
Original file line number Diff line number Diff line change @@ -214,13 +214,6 @@ if [ "$1" = "clean" ]; then
214
214
exit 0
215
215
fi
216
216
217
- info MODINFO modules.builtin.modinfo
218
- ${OBJCOPY} -j .modinfo -O binary vmlinux.o modules.builtin.modinfo
219
- info GEN modules.builtin
220
- # The second line aids cases where multiple modules share the same object.
221
- tr ' \0' ' \n' < modules.builtin.modinfo | sed -n ' s/^[[:alnum:]:_]*\.file=//p' |
222
- tr ' ' ' \n' | uniq | sed -e ' s:^:kernel/:' -e ' s/$/.ko/' > modules.builtin
223
-
224
217
if is_enabled CONFIG_MODULES; then
225
218
${MAKE} -f " ${srctree} /scripts/Makefile.vmlinux" .vmlinux.export.o
226
219
fi
You can’t perform that action at this time.
0 commit comments