Fix out-of-tree build's recursion

While doing O=build build I've noticed that it was getting gradually
slower with each invocation. The reason turned out to be that the build
directory was inside the source tree and got recreated inside itself
with all its subdirectories.

This patch changes the behavior so that only the directories with
Kbuild.src or Config.src in them are created in the out-of-tree build
directory. A quick rebuild from scratch revealed no problems with this.

Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Alexander Shishkin 2010-07-15 17:39:24 +03:00 committed by Denys Vlasenko
parent fb4cb1c416
commit daf286cda5

View File

@ -53,8 +53,8 @@ fi
src="$srctree/$d/Kbuild.src" src="$srctree/$d/Kbuild.src"
dst="$d/Kbuild" dst="$d/Kbuild"
mkdir -p -- "$d" 2>/dev/null
if test -f "$src"; then if test -f "$src"; then
mkdir -p -- "$d" 2>/dev/null
#echo " CHK $dst" #echo " CHK $dst"
s=`sed -n 's@^//kbuild:@@p' -- "$srctree/$d"/*.c` s=`sed -n 's@^//kbuild:@@p' -- "$srctree/$d"/*.c`
@ -73,8 +73,8 @@ fi
src="$srctree/$d/Config.src" src="$srctree/$d/Config.src"
dst="$d/Config.in" dst="$d/Config.in"
mkdir -p -- "$d" 2>/dev/null
if test -f "$src"; then if test -f "$src"; then
mkdir -p -- "$d" 2>/dev/null
#echo " CHK $dst" #echo " CHK $dst"
s=`sed -n 's@^//config:@@p' -- "$srctree/$d"/*.c` s=`sed -n 's@^//config:@@p' -- "$srctree/$d"/*.c`