OSDN Git Service

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 9681587..18c172d 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`