Skip to content

Commit f3908ab

Browse files
committed
kbuild: refactor tagets caluculation for KBUILD_{BUILTIN,KBUILD_MODULES}
Remove lib-target, builtin-target, modorder-target, and modtargets. Instead, add targets-for-builtin and targets-for-modules. Signed-off-by: Masahiro Yamada <[email protected]>
1 parent 0a8820e commit f3908ab

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

scripts/Makefile.build

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -73,19 +73,24 @@ endif
7373
subdir-builtin := $(sort $(filter %/built-in.a, $(real-obj-y)))
7474
subdir-modorder := $(sort $(filter %/modules.order, $(modorder)))
7575

76+
targets-for-builtin := $(extra-y)
77+
7678
ifneq ($(strip $(lib-y) $(lib-m) $(lib-)),)
77-
lib-target := $(obj)/lib.a
79+
targets-for-builtin += $(obj)/lib.a
7880
endif
7981

8082
ifdef need-builtin
81-
builtin-target := $(obj)/built-in.a
83+
targets-for-builtin += $(obj)/built-in.a
8284
endif
8385

86+
targets-for-modules := $(obj-m)
87+
targets-for-modules += $(patsubst %.o, %.mod, $(obj-m))
88+
8489
ifdef need-modorder
85-
modorder-target := $(obj)/modules.order
90+
targets-for-modules += $(obj)/modules.order
8691
endif
8792

88-
mod-targets := $(patsubst %.o, %.mod, $(obj-m))
93+
targets += $(targets-for-builtin) $(targets-for-modules)
8994

9095
# Linus' kernel sanity checking tool
9196
ifeq ($(KBUILD_CHECKSRC),1)
@@ -284,8 +289,6 @@ cmd_mod = { \
284289
$(obj)/%.mod: $(obj)/%.o FORCE
285290
$(call if_changed,mod)
286291

287-
targets += $(mod-targets)
288-
289292
quiet_cmd_cc_lst_c = MKLST $@
290293
cmd_cc_lst_c = $(CC) $(c_flags) -g -c -o $*.o $< && \
291294
$(CONFIG_SHELL) $(srctree)/scripts/makelst $*.o \
@@ -359,7 +362,7 @@ $(obj)/%.o: $(src)/%.S $(objtool_dep) FORCE
359362
$(call if_changed_rule,as_o_S)
360363

361364
targets += $(filter-out $(subdir-builtin), $(real-obj-y)) $(real-obj-m) $(lib-y)
362-
targets += $(extra-y) $(always-y) $(MAKECMDGOALS)
365+
targets += $(always-y) $(MAKECMDGOALS)
363366

364367
# Linker scripts preprocessor (.lds.S -> .lds)
365368
# ---------------------------------------------------------------------------
@@ -396,8 +399,6 @@ quiet_cmd_ar_builtin = AR $@
396399
$(obj)/built-in.a: $(real-obj-y) FORCE
397400
$(call if_changed,ar_builtin)
398401

399-
targets += $(builtin-target)
400-
401402
#
402403
# Rule to create modules.order file
403404
#
@@ -414,8 +415,6 @@ $(obj)/modules.order: $(subdir-modorder) FORCE
414415
$(obj)/lib.a: $(lib-y) FORCE
415416
$(call if_changed,ar)
416417

417-
targets += $(lib-target)
418-
419418
# NOTE:
420419
# Do not replace $(filter %.o,^) with $(real-prereqs). When a single object
421420
# module is turned into a multi object module, $^ will contain header file
@@ -478,8 +477,8 @@ endif
478477

479478
else
480479

481-
__build: $(if $(KBUILD_BUILTIN),$(builtin-target) $(lib-target) $(extra-y)) \
482-
$(if $(KBUILD_MODULES),$(obj-m) $(mod-targets) $(modorder-target)) \
480+
__build: $(if $(KBUILD_BUILTIN), $(targets-for-builtin)) \
481+
$(if $(KBUILD_MODULES), $(targets-for-modules)) \
483482
$(subdir-ym) $(always-y)
484483
@:
485484

0 commit comments

Comments
 (0)