aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-07-09 01:25:36 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2010-07-09 01:25:36 +0200
commit1883cb174619cfc90ca86da08598f470d3a11315 (patch)
treea1e849d0cf637894d166e66b4885d708713ba075
parent1f0ab1dc6427e9340f50551d9e4f2212d03ec845 (diff)
downloadbusybox-w32-1883cb174619cfc90ca86da08598f470d3a11315.tar.gz
busybox-w32-1883cb174619cfc90ca86da08598f470d3a11315.tar.bz2
busybox-w32-1883cb174619cfc90ca86da08598f470d3a11315.zip
fix make O=dir build
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--scripts/Makefile.build7
-rwxr-xr-xscripts/gen_build_files.sh7
-rwxr-xr-xscripts/test_make_O11
3 files changed, 23 insertions, 2 deletions
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index f343818b1..5685b5bcc 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -13,8 +13,13 @@ __build:
13include scripts/Kbuild.include 13include scripts/Kbuild.include
14 14
15# The filename Kbuild has precedence over Makefile 15# The filename Kbuild has precedence over Makefile
16# bbox: we also try to include Kbuild file in obj tree first
16kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src)) 17kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
17include $(if $(wildcard $(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, $(kbuild-dir)/Makefile) 18include $(if $(wildcard $(src)/Kbuild), $(src)/Kbuild, \
19 $(if $(wildcard $(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, \
20 $(kbuild-dir)/Makefile \
21 ) \
22 )
18 23
19include scripts/Makefile.lib 24include scripts/Makefile.lib
20 25
diff --git a/scripts/gen_build_files.sh b/scripts/gen_build_files.sh
index a98f509ce..968158758 100755
--- a/scripts/gen_build_files.sh
+++ b/scripts/gen_build_files.sh
@@ -4,6 +4,8 @@ test $# -ge 2 || { echo "Syntax: $0 SRCTREE OBJTREE"; exit 1; }
4 4
5# cd to objtree 5# cd to objtree
6cd -- "$2" || { echo "Syntax: $0 SRCTREE OBJTREE"; exit 1; } 6cd -- "$2" || { echo "Syntax: $0 SRCTREE OBJTREE"; exit 1; }
7# In separate objtree build, include/ might not exist yet
8mkdir include 2>/dev/null
7 9
8srctree="$1" 10srctree="$1"
9 11
@@ -46,10 +48,12 @@ if test x"$new" != x"$old"; then
46fi 48fi
47 49
48# (Re)generate */Kbuild and */Config.in 50# (Re)generate */Kbuild and */Config.in
49find -type d | while read -r d; do 51{ cd -- "$srctree" && find -type d; } | while read -r d; do
50 d="${d#./}" 52 d="${d#./}"
53
51 src="$srctree/$d/Kbuild.src" 54 src="$srctree/$d/Kbuild.src"
52 dst="$d/Kbuild" 55 dst="$d/Kbuild"
56 mkdir -p -- "$d" 2>/dev/null
53 if test -f "$src"; then 57 if test -f "$src"; then
54 #echo " CHK $dst" 58 #echo " CHK $dst"
55 59
@@ -69,6 +73,7 @@ find -type d | while read -r d; do
69 73
70 src="$srctree/$d/Config.src" 74 src="$srctree/$d/Config.src"
71 dst="$d/Config.in" 75 dst="$d/Config.in"
76 mkdir -p -- "$d" 2>/dev/null
72 if test -f "$src"; then 77 if test -f "$src"; then
73 #echo " CHK $dst" 78 #echo " CHK $dst"
74 79
diff --git a/scripts/test_make_O b/scripts/test_make_O
new file mode 100755
index 000000000..a0ee6a868
--- /dev/null
+++ b/scripts/test_make_O
@@ -0,0 +1,11 @@
1#!/bin/sh
2
3b=`basename $PWD`
4test "${b#busybox}" != "$b" || { echo "Must be run in busybox tree"; exit 1; }
5
6rm -rf ../testdir_make_O.$$
7mkdir ../testdir_make_O.$$
8odir=`cd ../testdir_make_O.$$ && pwd`
9test -d "$odir" || exit 1
10
11make O="$odir" $MAKEOPTS "$@" defconfig busybox 2>&1 | tee test_make_O.log