Fix out-of-tree build's recursion
authorAlexander Shishkin <virtuoso@slind.org>
Thu, 15 Jul 2010 14:39:24 +0000 (17:39 +0300)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 18 Jul 2010 21:57:49 +0000 (23:57 +0200)
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>
scripts/gen_build_files.sh

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