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