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

Masahiro Yamada
2021-08-19T00:58:47Z

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@kernel.org>
---

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 97392c26ebd7..17ce37c3eceb 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -370,11 +370,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
@@ -434,14 +431,11 @@ cmd_ld_o_a += ; $(objtool) $(objtool_args) --module $@
endif
endif

-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 f604d2d01cad..bd71a7d6fbc1 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