aboutsummaryrefslogtreecommitdiff
path: root/tools/scripts
diff options
context:
space:
mode:
authorSteven Rostedt2012-08-13 10:23:02 -0400
committerArnaldo Carvalho de Melo2012-08-16 14:11:11 -0300
commitc883122acc0d97648d8b8f4726709017674e4420 (patch)
tree13b77c293c5c54099aa338d9f30cd6bf67b24227 /tools/scripts
parent0c21f736e0a37c50f66ab248d2a52f711b28a4e4 (diff)
perf tools: Let O= makes handle relative paths
When I did a compile of perf using a relative path for the output directory, the build failed when it tried to compile libtraceevent. This is because it continues to use the same relative path when the new working directory is in a different path. SUBDIR ../lib/traceevent/ /bin/sh: line 0: cd: ../../../nobackup/perf/: No such file or directory Makefile:74: *** output directory "../../../nobackup/perf/" does not exist. Stop. make: *** [../../../nobackup/perf///libtraceevent.a] Error 2 Make the path used an absolute path when building perf with O=. Boris: Teach Makefile to check whether the supplied O= directory exists and bail out if not. Reportedly, kernel dudes are idiots and need to be guarded so as not to shoot themselves in the foot when playing in the sandbox. Signed-off-by: Borislav Petkov <borislav.petkov@amd.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Acked-by: Steven Rostedt <rostedt@goodmis.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Namhyung Kim <namhyung.kim@lge.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20120815163923.GD15989@aftab.osrc.amd.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/scripts')
-rw-r--r--tools/scripts/Makefile.include6
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include
index bde8521d56bb..96ce80a3743b 100644
--- a/tools/scripts/Makefile.include
+++ b/tools/scripts/Makefile.include
@@ -1,6 +1,8 @@
ifeq ("$(origin O)", "command line")
- OUTPUT := $(O)/
- COMMAND_O := O=$(O)
+ dummy := $(if $(shell test -d $(O) || echo $(O)),$(error O=$(O) does not exist),)
+ ABSOLUTE_O := $(shell cd $(O) ; pwd)
+ OUTPUT := $(ABSOLUTE_O)/
+ COMMAND_O := O=$(ABSOLUTE_O)
endif
ifneq ($(OUTPUT),)