[05/37] kbuild: refactor KBUILD_VMLINUX_{OBJS,LIBS} calculation
diff mbox series

Message ID 20200601055731.3006266-5-masahiroy@kernel.org
State New
Headers show
Series
  • [01/37] kbuild: refactor subdir-ym calculation
Related show

Commit Message

Masahiro Yamada June 1, 2020, 5:56 a.m. UTC
Do not overwrite core-y or drivers-y. Remove libs-y1 and libs-y2.

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

 Makefile | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

Comments

Masahiro Yamada June 3, 2020, 4:21 a.m. UTC | #1
On Mon, Jun 1, 2020 at 2:57 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> Do not overwrite core-y or drivers-y. Remove libs-y1 and libs-y2.
>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---

To mend ARCH=arm64 build error,
I will fix up as follows.

diff --git a/Makefile b/Makefile
index 0416760aeb28..24cf37c21cba 100644
--- a/Makefile
+++ b/Makefile
@@ -1070,7 +1070,7 @@ build-dirs        := $(vmlinux-dirs)
 clean-dirs     := $(vmlinux-alldirs)

 # Externally visible symbols (used by link-vmlinux.sh)
-KBUILD_VMLINUX_OBJS := $(head-y) $(addsuffix built-in.a, $(core-y))
+KBUILD_VMLINUX_OBJS := $(head-y) $(patsubst %/,%/built-in.a, $(core-y))
 KBUILD_VMLINUX_OBJS += $(addsuffix built-in.a, $(filter %/, $(libs-y)))
 ifdef CONFIG_MODULES
 KBUILD_VMLINUX_OBJS += $(patsubst %/, %/lib.a, $(filter %/, $(libs-y)))
@@ -1078,7 +1078,7 @@ KBUILD_VMLINUX_LIBS := $(filter-out %/, $(libs-y))
 else
 KBUILD_VMLINUX_LIBS := $(patsubst %/,%/lib.a, $(libs-y))
 endif
-KBUILD_VMLINUX_OBJS += $(addsuffix built-in.a, $(drivers-y))
+KBUILD_VMLINUX_OBJS += $(patsubst %/,%/built-in.a, $(drivers-y))

 export KBUILD_VMLINUX_OBJS KBUILD_VMLINUX_LIBS
 export KBUILD_LDS          := arch/$(SRCARCH)/kernel/vmlinux.lds




>
>  Makefile | 17 ++++++++---------
>  1 file changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index c0c086d06753..0416760aeb28 100644
> --- 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) $(addsuffix 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 += $(addsuffix 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
> --
> 2.25.1
>

Patch
diff mbox series

diff --git a/Makefile b/Makefile
index c0c086d06753..0416760aeb28 100644
--- 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) $(addsuffix 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 += $(addsuffix 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