On Thu, 5 Mar 2020 10:50:43 -0800 Randy Dunlap rdunlap@infradead.org wrote:
On 3/4/20 10:03 PM, Masami Hiramatsu wrote:
When I compiled tools/bootconfig from top directory with -C option, the O= option didn't work correctly if I passed a relative path.
$ make O=./builddir/ -C tools/bootconfig/ make: Entering directory '/home/mhiramat/ksrc/linux/tools/bootconfig' ../scripts/Makefile.include:4: *** O=./builddir/ does not exist. Stop. make: Leaving directory '/home/mhiramat/ksrc/linux/tools/bootconfig'
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
Hi Masami,
This patch doesn't fix anything AFAICT. Didn't help in my testing.
Hmm, what happens on your case? Maybe PWD is not set?
Thank you,
Thanks.
tools/scripts/Makefile.include | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
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),)
-- ~Randy Reported-by: Randy Dunlap rdunlap@infradead.org