| # | 
 | #    Copyright (c) 2017 Nest Labs, Inc. | 
 | #    All rights reserved. | 
 | # | 
 | #    This document is the property of Nest. It is considered | 
 | #    confidential and proprietary information. | 
 | # | 
 | #    This document may not be reproduced or transmitted in any form, | 
 | #    in whole or in part, without the express written permission of | 
 | #    Nest. | 
 | # | 
 | #    Description: | 
 | #    This file is the make file for the Linux 'perf' tool. | 
 | # | 
 |  | 
 | include pre.mak | 
 |  | 
 | PackageSourceDir	:= $(LinuxSourcesPath)/tools/perf | 
 | PackageBuildMakefile	:= Makefile.perf | 
 |  | 
 | all: $(PackageDefaultGoal) | 
 |  | 
 | CommonMakeArgs := \ | 
 | 	-C $(PackageSourceDir) \ | 
 | 	-f $(PackageBuildMakefile) \ | 
 | 	CC="$(CC) $(CPPOPTFLAGS)" \ | 
 | 	INSTALL="$(INSTALL) $(INSTALLFLAGS)" \ | 
 | 	EXTRA_CFLAGS=" \ | 
 | 		$(addprefix -isystem ,$(LinuxIncludePath)) \ | 
 | 		$(call ToolAssertLanguageFlag,data-sections) \ | 
 | 		$(call ToolAssertLanguageFlag,function-sections) \ | 
 | 	" \ | 
 | 	LDFLAGS="-Wl,--gc-sections" \ | 
 | 	ARCH=$(LinuxProductArch) \ | 
 | 	O=$(CURDIR)/$(BuildDirectory) \ | 
 | 	DESTDIR=$(ResultDirectory) \ | 
 | 	ONLY_PERF_RECORD=1 \ | 
 | 	NO_LIBELF=1 \ | 
 | 	$(if $(BuildVerbose),V=$(BuildVerbose)) \ | 
 | 	$(NULL) | 
 |  | 
 | # The Linux kernel build has no way of explicitly setting CC, LD, | 
 | # OBJCOPY, et al and instead relies on the value of | 
 | # CROSS_COMPILE. Consequently, we have to ensure that 'ToolBinDir' is | 
 | # in 'PATH' so that the kernel build infrastructure can find | 
 | # $(CROSS_COMPILE)gcc, $(CROSS_COMPILE)ld, et al. | 
 |  | 
 | PATH := $(PATH):$(ToolBinDir) | 
 | CROSS_COMPILE := $(CCACHE) $(CROSS_COMPILE) | 
 |  | 
 | .PHONY: build | 
 | build: | $(BuildDirectory) | 
 | 	$(Verbose)$(MAKE) $(CommonMakeArgs) | 
 |  | 
 | .PHONY: stage | 
 | stage: | $(BuildDirectory) $(ResultDirectory) | 
 | 	$(Verbose)$(MAKE) $(CommonMakeArgs) install | 
 |  | 
 | .PHONY: clean | 
 | clean: | 
 | 	$(Verbose)$(MAKE) $(CommonMakeArgs) clean | 
 |  | 
 | include post.mak |