All of lore.kernel.org
 help / color / mirror / Atom feed
* [BUGFIX PATCH v2] tools: Let O= makes handle a relative path with -C option
@ 2020-03-06 18:32 Masami Hiramatsu
  2020-03-06 20:12 ` Arnaldo Carvalho de Melo
  2020-03-19 14:04 ` [tip: perf/urgent] " tip-bot2 for Masami Hiramatsu
  0 siblings, 2 replies; 4+ messages in thread
From: Masami Hiramatsu @ 2020-03-06 18:32 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Geert Uytterhoeven, Borislav Petkov, LKML, Ingo Molnar,
	Randy Dunlap, Andrew Morton, Masami Hiramatsu, Peter Zijlstra,
	Sasha Levin, Arnaldo Carvalho de Melo, Jiri Olsa, Masahiro Yamada,
	Michal Marek

When I compiled tools/perf from top directory with the -C option,
the O= option didn't work correctly if I passed a relative path.

  $ make O=BUILD -C tools/perf/
  make: Entering directory '/home/mhiramat/ksrc/linux/tools/perf'
    BUILD:   Doing 'make -j8' parallel build
  ../scripts/Makefile.include:4: *** O=/home/mhiramat/ksrc/linux/tools/perf/BUILD does not exist.  Stop.
  make: *** [Makefile:70: all] Error 2
  make: Leaving directory '/home/mhiramat/ksrc/linux/tools/perf'

The O= directory existence check failed because the check
script ran in the build target directory instead of the
directory where I ran the make command.

To fix that, once change directory to $(PWD) and check O=
directory, since the PWD is set to where the make command
runs.

Fixes: c883122acc0d ("perf tools: Let O= makes handle relative paths")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: stable@vger.kernel.org

---
 Changes in V2:
 - Fix tools/perf/Makefile because it has own O= pre-process.
 - Use tools/perf for example.
 - Add explicit Cc: stable@vger.kernel.org tag.
---
 tools/perf/Makefile            |    2 +-
 tools/scripts/Makefile.include |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 7902a5681fc8..b8fc7d972be9 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -35,7 +35,7 @@ endif
 # Only pass canonical directory names as the output directory:
 #
 ifneq ($(O),)
-  FULL_O := $(shell readlink -f $(O) || echo $(O))
+  FULL_O := $(shell cd $(PWD); readlink -f $(O) || echo $(O))
 endif
 
 #
diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include
index ded7a950dc40..6d2f3a1b2249 100644
--- a/tools/scripts/Makefile.include
+++ b/tools/scripts/Makefile.include
@@ -1,8 +1,8 @@
 # SPDX-License-Identifier: GPL-2.0
 ifneq ($(O),)
 ifeq ($(origin O), command line)
-	dummy := $(if $(shell test -d $(O) || echo $(O)),$(error O=$(O) does not exist),)
-	ABSOLUTE_O := $(shell cd $(O) ; pwd)
+	dummy := $(if $(shell cd $(PWD); test -d $(O) || echo $(O)),$(error O=$(O) does not exist),)
+	ABSOLUTE_O := $(shell cd $(PWD); cd $(O) ; pwd)
 	OUTPUT := $(ABSOLUTE_O)/$(if $(subdir),$(subdir)/)
 	COMMAND_O := O=$(ABSOLUTE_O)
 ifeq ($(objtree),)


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-03-19 14:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-06 18:32 [BUGFIX PATCH v2] tools: Let O= makes handle a relative path with -C option Masami Hiramatsu
2020-03-06 20:12 ` Arnaldo Carvalho de Melo
2020-03-07  2:27   ` Masami Hiramatsu
2020-03-19 14:04 ` [tip: perf/urgent] " tip-bot2 for Masami Hiramatsu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.