@@ -288,6 +288,9 @@ config BR2_LINUX_KERNEL_INSTALL_TARGET
# Linux extensions
source "linux/Config.ext.in"
+# Linux userspace tools
+source "linux/Config.tools.in"
+
endif # BR2_LINUX_KERNEL
endmenu
new file mode 100644
@@ -0,0 +1,15 @@
+#menu BR2_LINUX_KERNEL_TOOLS
+menu "Linux Kernel Userspace Tools"
+
+# Perf
+config BR2_LINUX_KERNEL_TOOLS_PERF
+ bool "Build Performance analysis tools for Linux"
+ default n
+ select BR2_PACKAGE_LIBELF
+ help
+ Performance counters for Linux are a new kernel-based
+ subsystem that provide a framework for all things
+ performance analysis. It covers hardware level (CPU/PMU,
+ Performance Monitoring Unit) features and software features
+ (software counters, tracepoints) as well.
+endmenu
new file mode 100644
@@ -0,0 +1,19 @@
+define LINUX_BUILD_KERNEL_TOOLS_PERF
+ @$(call MESSAGE,"Building Kernel Tools - Perf")
+ $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D)/tools/perf \
+ prefix=$(TARGET_DIR)/usr
+endef
+
+define LINUX_INSTALL_KERNEL_TOOLS_PERF
+ @$(call MESSAGE,"Installing Kernel Tools - Perf")
+ $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D)/tools/perf \
+ prefix=$(TARGET_DIR)/usr install
+endef
+
+ifeq ($(BR2_LINUX_KERNEL_TOOLS_PERF),y)
+LINUX_BUILD_KERNEL_TOOLS += LINUX_BUILD_KERNEL_TOOLS_PERF
+LINUX_INSTALL_KERNEL_TOOLS += LINUX_INSTALL_KERNEL_TOOLS_PERF
+endif
+
+LINUX_POST_BUILD_HOOKS += $(LINUX_BUILD_KERNEL_TOOLS)
+LINUX_POST_INSTALL_TARGET_HOOKS += $(LINUX_INSTALL_KERNEL_TOOLS)
@@ -265,6 +265,7 @@ define LINUX_INSTALL_TARGET_CMDS
endef
include linux/linux-ext-*.mk
+include linux/linux-tools.mk
$(eval $(generic-package))
Change-Id: I66bdceb3cd76bb69b069b5bd8064e59a67374521 Signed-off-by: Tzu-Jung Lee <roylee17@gmail.com> --- linux/Config.in | 3 +++ linux/Config.tools.in | 15 +++++++++++++++ linux/linux-tools.mk | 19 +++++++++++++++++++ linux/linux.mk | 1 + 4 files changed, 38 insertions(+) create mode 100644 linux/Config.tools.in create mode 100644 linux/linux-tools.mk