[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAK7LNAT=0qxrCWawSQpoc9qfqM5GZmnznAA-RXrtBzZ5m0Y3mA@mail.gmail.com>
Date: Wed, 1 May 2019 21:35:37 +0900
From: Masahiro Yamada <yamada.masahiro@...ionext.com>
To: Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>
Cc: Michal Marek <michal.lkml@...kovi.net>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/5] kbuild: move samples/ to KBUILD_VMLINUX_OBJS
On Sat, Apr 27, 2019 at 12:34 PM Masahiro Yamada
<yamada.masahiro@...ionext.com> wrote:
>
> Handle samples/ like the other top-level directories to simplify
> the Makefile.
>
> Include include/config/auto.conf earlier to evaluate
> drivers-$(CONFIG_SAMPLES).
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@...ionext.com>
> ---
Series, applied to linux-kbuild.
> Makefile | 18 ++++++++----------
> samples/Makefile | 2 +-
> 2 files changed, 9 insertions(+), 11 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 15e17b4..251ded5 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -598,20 +598,21 @@ endif
>
> export KBUILD_MODULES KBUILD_BUILTIN
>
> +ifeq ($(dot-config),1)
> +include include/config/auto.conf
> +endif
> +
> ifeq ($(KBUILD_EXTMOD),)
> # Objects we will link into vmlinux / subdirs we need to visit
> init-y := init/
> drivers-y := drivers/ sound/
> +drivers-$(CONFIG_SAMPLES) += samples/
> net-y := net/
> libs-y := lib/
> core-y := usr/
> virt-y := virt/
> endif # KBUILD_EXTMOD
>
> -ifeq ($(dot-config),1)
> -include include/config/auto.conf
> -endif
> -
> # The all: target is the default when no target is given on the
> # command line.
> # This allow a user to issue only 'make' to build a kernel including modules
> @@ -1005,7 +1006,7 @@ export KBUILD_VMLINUX_LIBS := $(libs-y1)
> export KBUILD_LDS := arch/$(SRCARCH)/kernel/vmlinux.lds
> export LDFLAGS_vmlinux
> # used by scripts/package/Makefile
> -export KBUILD_ALLDIRS := $(sort $(filter-out arch/%,$(vmlinux-alldirs)) arch Documentation include samples scripts tools)
> +export KBUILD_ALLDIRS := $(sort $(filter-out arch/%,$(vmlinux-alldirs)) arch Documentation include scripts tools)
>
> vmlinux-deps := $(KBUILD_LDS) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)
>
> @@ -1042,11 +1043,8 @@ vmlinux: scripts/link-vmlinux.sh autoksyms_recursive $(vmlinux-deps) FORCE
>
> targets := vmlinux
>
> -# Build samples along the rest of the kernel. This needs headers_install.
> -ifdef CONFIG_SAMPLES
> -vmlinux-dirs += samples
> +# Some samples need headers_install.
> samples: headers_install
> -endif
>
> # The actual objects are generated when descending,
> # make sure no implicit rule kicks in
> @@ -1362,7 +1360,7 @@ MRPROPER_FILES += .config .config.old .version \
> #
> clean: rm-dirs := $(CLEAN_DIRS)
> clean: rm-files := $(CLEAN_FILES)
> -clean-dirs := $(addprefix _clean_, . $(vmlinux-alldirs) Documentation samples)
> +clean-dirs := $(addprefix _clean_, . $(vmlinux-alldirs) Documentation)
>
> PHONY += $(clean-dirs) clean archclean vmlinuxclean
> $(clean-dirs):
> diff --git a/samples/Makefile b/samples/Makefile
> index b1142a9..50f8586 100644
> --- a/samples/Makefile
> +++ b/samples/Makefile
> @@ -1,6 +1,6 @@
> # Makefile for Linux samples code
>
> -obj-$(CONFIG_SAMPLES) += kobject/ kprobes/ trace_events/ livepatch/ \
> +obj-y += kobject/ kprobes/ trace_events/ livepatch/ \
> hw_breakpoint/ kfifo/ kdb/ hidraw/ rpmsg/ seccomp/ \
> configfs/ connector/ v4l/ trace_printk/ \
> vfio-mdev/ statx/ qmi/ binderfs/
> --
> 2.7.4
>
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists