summaryrefslogtreecommitdiff
path: root/package/devel/perf
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2014-11-28 01:29:41 +0000
committerFlorian Fainelli <florian@openwrt.org>2014-11-28 01:29:41 +0000
commit6cc4c6a3a1921ee589516094f41970f5b0d417a7 (patch)
tree623d0703d672b0d0a72cb520713c1ed5a2e73424 /package/devel/perf
parent5462e85ef1a2cb293dad6cbd8c0024a1a21bfdc0 (diff)
downloadmtk-20170518-6cc4c6a3a1921ee589516094f41970f5b0d417a7.zip
mtk-20170518-6cc4c6a3a1921ee589516094f41970f5b0d417a7.tar.gz
mtk-20170518-6cc4c6a3a1921ee589516094f41970f5b0d417a7.tar.bz2
devel: import perf from oldpackages
perf was in the oldpackages repository, but it makes more sense to have it part of the default package set since we build it from the Linux kernel sources. Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 43418
Diffstat (limited to 'package/devel/perf')
-rw-r--r--package/devel/perf/Makefile66
1 files changed, 66 insertions, 0 deletions
diff --git a/package/devel/perf/Makefile b/package/devel/perf/Makefile
new file mode 100644
index 0000000..184e51d
--- /dev/null
+++ b/package/devel/perf/Makefile
@@ -0,0 +1,66 @@
+#
+# Copyright (C) 2011-2013 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
+
+PKG_NAME:=perf
+PKG_VERSION:=$(LINUX_VERSION)
+PKG_RELEASE:=2
+
+PKG_USE_MIPS16:=0
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/perf
+ SECTION:=devel
+ CATEGORY:=Development
+ DEPENDS:= +libelf1 +libdw +libpthread +librt +binutils
+ TITLE:=Linux performance monitoring tool
+ VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE)
+ URL:=http://www.kernel.org
+endef
+
+define Package/perf/description
+ perf is the Linux performance monitoring tool
+endef
+
+# Perf's makefile and headers are not relocatable and must be built from the
+# Linux sources directory
+define Build/Prepare
+ $(RM) -r $(PKG_BUILD_DIR)
+ ln -s $(LINUX_DIR)/tools/perf $(PKG_BUILD_DIR)
+endef
+
+# MAKE_FLAGS should be passed again upon cleaning because Perf's makefile
+# always performs checks before processing any rule
+define Build/Clean
+ -$(MAKE) -C $(PKG_BUILD_DIR) \
+ NO_DWARF=1 \
+ $(MAKE_FLAGS) \
+ clean
+endef
+
+MAKE_FLAGS = \
+ ARCH="$(LINUX_KARCH)" \
+ NO_LIBPERL=1 \
+ NO_LIBPYTHON=1 \
+ NO_NEWT=1 \
+ CROSS_COMPILE="$(TARGET_CROSS)" \
+ CC="$(TARGET_CC)" \
+ LD="$(TARGET_CROSS)ld" \
+ CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
+ LDFLAGS="$(TARGET_LDFLAGS)" \
+ V=1 \
+ prefix=/usr
+
+define Package/perf/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(LINUX_DIR)/tools/perf/perf $(1)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,perf))