[PATCH] kbuild: suppress warnings for single builds of vmlinux.lds, *.a, etc.

From: Masahiro Yamada
Date: Sun Sep 25 2022 - 21:27:44 EST


vmlinux-deps is unneeded because the dependency can directly list
$(KBUILD_LDS) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)

Do not cancel the rule; building an individual vmlinux.lds, built-in.a,
or lib.a is working now, but the warning "overriding recipe for target"
is shown.

Without this patch:

$ make arch/x86/kernel/vmlinux.lds
Makefile:1798: warning: overriding recipe for target 'arch/x86/kernel/vmlinux.lds'
Makefile:1162: warning: ignoring old recipe for target 'arch/x86/kernel/vmlinux.lds'
[ snip ]
LDS arch/x86/kernel/vmlinux.lds

Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
---

Makefile | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index 244c07f1cc70..3e6974b4ebf2 100644
--- a/Makefile
+++ b/Makefile
@@ -1118,7 +1118,8 @@ endif
export KBUILD_VMLINUX_OBJS KBUILD_VMLINUX_LIBS
export KBUILD_LDS := arch/$(SRCARCH)/kernel/vmlinux.lds

-vmlinux-deps := $(KBUILD_LDS) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)
+# The actual objects are generated when descending.
+$(sort $(KBUILD_LDS) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)): .

# Recurse until adjust_autoksyms.sh is satisfied
PHONY += autoksyms_recursive
@@ -1157,10 +1158,6 @@ vmlinux: scripts/link-vmlinux.sh vmlinux.o $(KBUILD_LDS) FORCE

targets := vmlinux

-# The actual objects are generated when descending,
-# make sure no implicit rule kicks in
-$(sort $(vmlinux-deps)): . ;
-
filechk_kernel.release = \
echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"

--
2.34.1