From c535494566f4790029ee8a029dd45e70ec49910a Mon Sep 17 00:00:00 2001 From: florian Date: Thu, 13 Dec 2012 15:40:45 +0000 Subject: [PATCH] perf: fix multiple issues in Makefile * provide a proper version information * make sure we build in the linux directory to avoid out of tree build failures * make package cleaning actually work Signed-off-by: Florian Fainelli git-svn-id: svn://svn.openwrt.org/openwrt/packages@34663 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- devel/perf/Makefile | 41 ++++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/devel/perf/Makefile b/devel/perf/Makefile index 3bd438455..67e5c10c9 100644 --- a/devel/perf/Makefile +++ b/devel/perf/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2011 OpenWrt.org +# Copyright (C) 2011-2012 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,6 +9,7 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=perf +PKG_VERSION:=$(LINUX_VERSION) PKG_RELEASE:=1 include $(INCLUDE_DIR)/package.mk @@ -16,7 +17,7 @@ include $(INCLUDE_DIR)/package.mk define Package/perf SECTION:=devel CATEGORY:=Development - DEPENDS:= +libdw +libpthread +librt @BROKEN + DEPENDS:= +libelf1 +libdw +libpthread +librt @BROKEN TITLE:=Linux performance monitoring tool VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE) URL:=http://www.kernel.org @@ -26,24 +27,34 @@ 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 -define Build/Compile - $(MAKE) -C $(LINUX_DIR)/tools/perf \ - 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 +# 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) \ + $(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/