[PATCH v2 13/13] kbuild: merge cmd_ar_builtin and cmd_ar_module

From: Masahiro Yamada
Date: Tue Aug 31 2021 - 03:41:25 EST


The difference between cmd_ar_builtin and cmd_ar_module is the
'[M]' in the short log.

Merge them into cmd_ar_thin.

$(quiet_modtag) is expanded to '[M]' when it is merging module objects.

Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>
---

scripts/Makefile.build | 12 +++---------
scripts/Makefile.lib | 5 ++++-
2 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 4d12f83389ce..0000b3988464 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -380,11 +380,8 @@ $(subdir-modorder): $(obj)/%/modules.order: $(obj)/% ;
# Rule to compile a set of .o files into one .a file (without symbol table)
#

-quiet_cmd_ar_builtin = AR $@
- cmd_ar_builtin = rm -f $@; $(AR) cDPrST $@ $(real-prereqs)
-
$(obj)/built-in.a: $(real-obj-y) FORCE
- $(call if_changed,ar_builtin)
+ $(call if_changed,ar_thin)

#
# Rule to create modules.order file
@@ -438,14 +435,11 @@ $(obj)/%.prelink.o: part-of-module := y
$(obj)/%.prelink.o: $(obj)/%.a $(module-symver) FORCE
$(call if_changed_rule,ld_o_a)

-quiet_cmd_ar_module = AR [M] $@
- cmd_ar_module = rm -f $@; $(AR) cDPrST $@ $(real-prereqs)
-
$(modules-single): %.a: %.o FORCE
- $(call if_changed,ar_module)
+ $(call if_changed,ar_thin)

$(modules-multi): FORCE
- $(call if_changed,ar_module)
+ $(call if_changed,ar_thin)
$(call multi_depend, $(modules-multi), .a, -objs -y -m)

targets += $(modules-single) $(modules-multi)
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 5074922db82d..cc6ff7ffb39d 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -198,7 +198,7 @@ _cpp_flags += -I $(srctree)/$(src) -I $(objtree)/$(obj)
endif
endif

-part-of-module = $(if $(filter $(basename $@).o, $(real-obj-m)),y)
+part-of-module = $(if $(filter $(basename $@).o, $(real-obj-m) $(obj-m)),y)
quiet_modtag = $(if $(part-of-module),[M], )

modkern_cflags = \
@@ -276,6 +276,9 @@ quiet_cmd_ld = LD $@
quiet_cmd_ar = AR $@
cmd_ar = rm -f $@; $(AR) cDPrsT $@ $(real-prereqs)

+quiet_cmd_ar_thin = AR $(quiet_modtag) $@
+ cmd_ar_thin = rm -f $@; $(AR) cDPrST $@ $(real-prereqs)
+
# Objcopy
# ---------------------------------------------------------------------------

--
2.30.2