kbuild: refactor KBUILD_VMLINUX_{OBJS,LIBS} calculation
authorMasahiro Yamada <masahiroy@kernel.org>
Mon, 1 Jun 2020 05:56:59 +0000 (14:56 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Wed, 3 Jun 2020 04:22:07 +0000 (13:22 +0900)
Do not overwrite core-y or drivers-y. Remove libs-y1 and libs-y2.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Makefile

index c0c086d06753f6d30b646be99406b72a930dd7d7..24cf37c21cba439e2866fcf2a5dbd50c1cd685a7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1069,19 +1069,18 @@ vmlinux-alldirs := $(sort $(vmlinux-dirs) Documentation \
 build-dirs     := $(vmlinux-dirs)
 clean-dirs     := $(vmlinux-alldirs)
 
-core-y         := $(patsubst %/, %/built-in.a, $(core-y))
-drivers-y      := $(patsubst %/, %/built-in.a, $(drivers-y))
-libs-y2                := $(patsubst %/, %/built-in.a, $(filter %/, $(libs-y)))
+# Externally visible symbols (used by link-vmlinux.sh)
+KBUILD_VMLINUX_OBJS := $(head-y) $(patsubst %/,%/built-in.a, $(core-y))
+KBUILD_VMLINUX_OBJS += $(addsuffix built-in.a, $(filter %/, $(libs-y)))
 ifdef CONFIG_MODULES
-libs-y1                := $(filter-out %/, $(libs-y))
-libs-y2                += $(patsubst %/, %/lib.a, $(filter %/, $(libs-y)))
+KBUILD_VMLINUX_OBJS += $(patsubst %/, %/lib.a, $(filter %/, $(libs-y)))
+KBUILD_VMLINUX_LIBS := $(filter-out %/, $(libs-y))
 else
-libs-y1                := $(patsubst %/, %/lib.a, $(libs-y))
+KBUILD_VMLINUX_LIBS := $(patsubst %/,%/lib.a, $(libs-y))
 endif
+KBUILD_VMLINUX_OBJS += $(patsubst %/,%/built-in.a, $(drivers-y))
 
-# Externally visible symbols (used by link-vmlinux.sh)
-export KBUILD_VMLINUX_OBJS := $(head-y) $(core-y) $(libs-y2) $(drivers-y)
-export KBUILD_VMLINUX_LIBS := $(libs-y1)
+export KBUILD_VMLINUX_OBJS KBUILD_VMLINUX_LIBS
 export KBUILD_LDS          := arch/$(SRCARCH)/kernel/vmlinux.lds
 export LDFLAGS_vmlinux
 # used by scripts/Makefile.package