Commit d93a18f2 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

kbuild: move samples/ to KBUILD_VMLINUX_OBJS



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: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent 83da1bed
Loading
Loading
Loading
Loading
+8 −10
Original line number Diff line number Diff line
@@ -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
@@ -1006,7 +1007,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)

@@ -1043,11 +1044,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
@@ -1363,7 +1361,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):
+1 −1
Original line number Diff line number Diff line
# 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/