[PATCH] kbuild: normalize paths in quiet compile output

From: Yang Wang

Date: Mon Jun 08 2026 - 03:05:14 EST


Composite objects may contain relative components in their member object
paths. This can make quiet compile output include noisy dot-dot components,
for example:

CC [M] drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_module.o

Use the existing normalize_path helper for quiet C and assembly compile
output so the same target is printed as:

CC [M] drivers/gpu/drm/amd/amdkfd/kfd_module.o

The actual compile commands still use $@, so object paths, dependency
tracking and generated files are unchanged.

Signed-off-by: Yang Wang <kevinyang.wang@xxxxxxx>
---
scripts/Makefile.lib | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 28a1c08e3b22..7d1589d993a8 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -239,7 +239,7 @@ ifdef CONFIG_LTO_CLANG
cmd_ld_single = $(if $(objtool-enabled)$(is-single-obj-m), ; $(LD) $(ld_flags) -r -o $(tmp-target) $@; mv $(tmp-target) $@)
endif

-quiet_cmd_cc_o_c = CC $(quiet_modtag) $@
+quiet_cmd_cc_o_c = CC $(quiet_modtag) $(call normalize_path,$@)
cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $< \
$(cmd_ld_single) \
$(cmd_objtool)
@@ -254,7 +254,7 @@ define rule_cc_o_c
$(call cmd,warn_shared_object)
endef

-quiet_cmd_as_o_S = AS $(quiet_modtag) $@
+quiet_cmd_as_o_S = AS $(quiet_modtag) $(call normalize_path,$@)
cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $< $(cmd_objtool)

define rule_as_o_S
--
2.47.3