diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Makefile.build | 7 | ||||
-rwxr-xr-x | scripts/gen_build_files.sh | 7 | ||||
-rwxr-xr-x | scripts/test_make_O | 11 |
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: | |||
13 | include scripts/Kbuild.include | 13 | include 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 | ||
16 | kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src)) | 17 | kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src)) |
17 | include $(if $(wildcard $(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, $(kbuild-dir)/Makefile) | 18 | include $(if $(wildcard $(src)/Kbuild), $(src)/Kbuild, \ |
19 | $(if $(wildcard $(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, \ | ||
20 | $(kbuild-dir)/Makefile \ | ||
21 | ) \ | ||
22 | ) | ||
18 | 23 | ||
19 | include scripts/Makefile.lib | 24 | include scripts/Makefile.lib |
20 | 25 | ||
diff --git a/scripts/gen_build_files.sh b/scripts/gen_build_files.sh index a98f509ce..18c172d5a 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 |
6 | cd -- "$2" || { echo "Syntax: $0 SRCTREE OBJTREE"; exit 1; } | 6 | cd -- "$2" || { echo "Syntax: $0 SRCTREE OBJTREE"; exit 1; } |
7 | # In separate objtree build, include/ might not exist yet | ||
8 | mkdir include 2>/dev/null | ||
7 | 9 | ||
8 | srctree="$1" | 10 | srctree="$1" |
9 | 11 | ||
@@ -46,11 +48,13 @@ if test x"$new" != x"$old"; then | |||
46 | fi | 48 | fi |
47 | 49 | ||
48 | # (Re)generate */Kbuild and */Config.in | 50 | # (Re)generate */Kbuild and */Config.in |
49 | find -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" |
53 | if test -f "$src"; then | 56 | if test -f "$src"; then |
57 | mkdir -p -- "$d" 2>/dev/null | ||
54 | #echo " CHK $dst" | 58 | #echo " CHK $dst" |
55 | 59 | ||
56 | s=`sed -n 's@^//kbuild:@@p' -- "$srctree/$d"/*.c` | 60 | s=`sed -n 's@^//kbuild:@@p' -- "$srctree/$d"/*.c` |
@@ -70,6 +74,7 @@ find -type d | while read -r d; do | |||
70 | src="$srctree/$d/Config.src" | 74 | src="$srctree/$d/Config.src" |
71 | dst="$d/Config.in" | 75 | dst="$d/Config.in" |
72 | if test -f "$src"; then | 76 | if test -f "$src"; then |
77 | mkdir -p -- "$d" 2>/dev/null | ||
73 | #echo " CHK $dst" | 78 | #echo " CHK $dst" |
74 | 79 | ||
75 | s=`sed -n 's@^//config:@@p' -- "$srctree/$d"/*.c` | 80 | s=`sed -n 's@^//config:@@p' -- "$srctree/$d"/*.c` |
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 | |||
3 | b=`basename $PWD` | ||
4 | test "${b#busybox}" != "$b" || { echo "Must be run in busybox tree"; exit 1; } | ||
5 | |||
6 | rm -rf ../testdir_make_O.$$ | ||
7 | mkdir ../testdir_make_O.$$ | ||
8 | odir=`cd ../testdir_make_O.$$ && pwd` | ||
9 | test -d "$odir" || exit 1 | ||
10 | |||
11 | make O="$odir" $MAKEOPTS "$@" defconfig busybox 2>&1 | tee test_make_O.log | ||