diff mbox series

[1/5] kbuild: move samples/ to KBUILD_VMLINUX_OBJS

Message ID 1556336020-15634-1-git-send-email-yamada.masahiro@socionext.com
State Accepted
Commit d93a18f27e3701a8cdc2228aee1c22451d1292e4
Headers show
Series [1/5] kbuild: move samples/ to KBUILD_VMLINUX_OBJS | expand

Commit Message

Masahiro Yamada April 27, 2019, 3:33 a.m. UTC
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@socionext.com>

---

 Makefile         | 18 ++++++++----------
 samples/Makefile |  2 +-
 2 files changed, 9 insertions(+), 11 deletions(-)

-- 
2.7.4

Comments

Masahiro Yamada May 1, 2019, 12:35 p.m. UTC | #1
On Sat, Apr 27, 2019 at 12:34 PM Masahiro Yamada
<yamada.masahiro@socionext.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@socionext.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
diff mbox series

Patch

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/