Re: [PATCH] scripts: Fallback to KBUILD_OUTPUT if O is not specified
From: Arnaldo Carvalho de Melo
Date: Fri Apr 08 2016 - 11:48:52 EST
Em Fri, Apr 08, 2016 at 11:37:06PM +0800, Wangnan (F) escreveu:
>
>
> On 2016/4/8 22:58, Arnaldo Carvalho de Melo wrote:
> >Em Fri, Apr 08, 2016 at 11:14:09AM +0200, Thierry Reding escreveu:
> >>From: Thierry Reding <treding@xxxxxxxxxx>
> >>
> >>The KBUILD_OUTPUT environment can be used to set the build directory as
> >>an alternative to passing the O variable on the command-line. This works
> >>with regular kernel builds, so it's surprising if it doesn't work within
> >>the tools/scripts directory.
> >>
> >>Allow KBUILD_OUTPUT if O is not specified on the command-line to avoid
> >>any surprises.
> >I think this is fine, Jiri, Wang?
>
> The idea is fine, but we should be very careful when touching Makefile
Yeah, I haven't tested it, Thierry, would you try the 'make -C
tools/perf build-test' with this set up?
> to avoid breaking build-test like this:
>
> # export KBUILD_OUTPUT=/tmp/xxxxx
> # ./tests/perf-targz-src-pkg .
> PERF_VERSION = 4.5.g337b7b
> ls: cannot access perf-*.tar.gz: No such file or directory
> tar: -C: Cannot open: No such file or directory
> tar: Error is not recoverable: exiting now
> make: *** /tmp/tmp.q4egWrFd3L/perf*/tools/perf: No such file or
> directory. Stop
>
> Moreover, in the above case, the output directory should be
>
> /tmp/xxxxx
>
> or
>
> /tmp/xxxxx/tools/perf ?
>
> Since kernel build output things to /tmp/xxxxx, I think we'd better
> output to /tmp/xxxxx/tools/perf.
>
> Thank you.
>
> >- Arnaldo
> >>Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
> >>---
> >>Hi Arnaldo,
> >>
> >>I'm not sure if you're the right person to send this to. There was noone
> >>reported by scripts/get_maintainer.pl, but it looks like you ended up
> >>applying most of the patches to this file lately, which kinda makes you
> >>the de facto maintainer =).
> >>
> >>Thierry
> >>
> >> tools/scripts/Makefile.include | 4 ++++
> >> 1 file changed, 4 insertions(+)
> >>
> >>diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include
> >>index 8abbef164b4e..5467da41dc72 100644
> >>--- a/tools/scripts/Makefile.include
> >>+++ b/tools/scripts/Makefile.include
> >>@@ -8,6 +8,10 @@ ifeq ($(objtree),)
> >> objtree := $(O)
> >> endif
> >> endif
> >>+else
> >>+ifneq ($(KBUILD_OUTPUT),)
> >>+ OUTPUT := $(KBUILD_OUTPUT)/$(if $(subdir),$(subdir)/)
> >>+endif
> >> endif
> >> # check that the output directory actually exists
> >>--
> >>2.8.0
>