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@xxxxxxxxxxxxx> > Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx> Hi Masami, This patch doesn't fix anything AFAICT. Didn't help in my testing. 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@xxxxxxxxxxxxx>