From: Ingo Molnar Date: Fri, 4 Oct 2013 10:08:05 +0000 (+0200) Subject: tools/perf/build: Fix non-canonical directory names in O= X-Git-Tag: v3.13-rc1~149^2~28^2~112 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b102420b500da97e0fc18d94f0600bddeced1b99;p=kernel%2Fkernel-generic.git tools/perf/build: Fix non-canonical directory names in O= This was a long-standing bug, relative pathnames like O=dir did not fully work in the build system: $ make O=localdir clean SUBDIR Documentation ../../scripts/Makefile.include:3: *** O=localdir does not exist. Stop. make[1]: *** [clean] Error 2 make: *** [clean] Error 2 Fix this by canonizing the directory before passing it to Makefile.perf. Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Namhyung Kim Cc: David Ahern Cc: Jiri Olsa Link: http://lkml.kernel.org/n/tip-hchMp1hozn9tqgswWcooxcru@git.kernel.org Signed-off-by: Ingo Molnar --- diff --git a/tools/perf/Makefile b/tools/perf/Makefile index 74f52d8..9580ebe 100644 --- a/tools/perf/Makefile +++ b/tools/perf/Makefile @@ -30,12 +30,19 @@ ifeq ($(JOBS),) endif endif +# +# Only pass canonical directory names as the output directory: +# +ifneq ($(O),) + FULL_O := $(shell readlink -f $(O)) +endif + define print_msg @printf ' BUILD: Doing '\''make \033[33m-j'$(JOBS)'\033[m'\'' parallel build\n' endef define make - @$(MAKE) -f Makefile.perf --no-print-directory -j$(JOBS) O=$(O) $@ + @$(MAKE) -f Makefile.perf --no-print-directory -j$(JOBS) O=$(FULL_O) $@ endef #