[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Mon, 12 Dec 2016 21:41:28 +0100
From: Michal Marek <mmarek@...e.com>
To: Robert Jarzmik <robert.jarzmik@...e.fr>
Cc: linux-kernel@...r.kernel.org, linux-kbuild@...r.kernel.org
Subject: Re: [PATCH] tags: honor COMPILED_SOURCE with apart output directory
Dne 12.12.2016 v 18:13 Robert Jarzmik napsal(a):
> Michal Marek <mmarek@...e.com> writes:
>> Please use the KBUILD_OUTPUT variable and not O.
> Well, I can't as far as I know. I tried, see below ...
>
> Explanation :
> - if I add just below the line "j=${i/\.[cS]/\.o}" the following :
> k="$O/${j#$tree}"
> echo "tree=$tree; O=$O; KBUILD_OUTPUT=$KBUILD_OUTPUT; i=$i, j=$j, k=$k"
> - and I launch:
> make O=out cscope COMPILED_SOURCE=1
>
> I get these kind of lines :
> tree=../; O=/home/rj/mio_linux/kernel/out; KBUILD_OUTPUT=;
> i=../kernel/sched/core.c, j=../kernel/sched/core.o, k=../kernel/sched/core.o
>
> From here I understand that :
> - $KBUILD_OUTPUT is not usable
Hm, you are right, we never export $KBUILD_OUTPUT anywhere. But, we
actualy chdir into the build tree before doing anything. So you can
assume that if $KBUILD_SRC != "", the build tree is ".".
>> should only match at the beginning of the filename (so use something
>> like ${i#$tree}).
> Ok, I can use then : k="$O/${j#$tree}". The subtle part is when O is empty, in
> which case this returns /xxxx, which doesn't look nice, while the former
> expression returned either a substituted path or the source path.
... so you can simply strip the leading $tree here and obtain the path
in the build directory.
Michal
Powered by blists - more mailing lists