mirror of https://github.com/torvalds/linux.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 <acme@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/n/tip-hchMp1hozn9tqgswWcooxcru@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
684f434cc0
commit
b102420b50
|
|
@ -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
|
||||
|
||||
#
|
||||
|
|
|
|||
Loading…
Reference in New Issue