Dne 12.12.2016 v 18:13 Robert Jarzmik napsal(a): > Michal Marek <mmarek@xxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html