fix make O=dir build
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
1f0ab1dc64
commit
1883cb1746
@ -13,8 +13,13 @@ __build:
|
|||||||
include scripts/Kbuild.include
|
include scripts/Kbuild.include
|
||||||
|
|
||||||
# The filename Kbuild has precedence over Makefile
|
# The filename Kbuild has precedence over Makefile
|
||||||
|
# bbox: we also try to include Kbuild file in obj tree first
|
||||||
kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
|
kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
|
||||||
include $(if $(wildcard $(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, $(kbuild-dir)/Makefile)
|
include $(if $(wildcard $(src)/Kbuild), $(src)/Kbuild, \
|
||||||
|
$(if $(wildcard $(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, \
|
||||||
|
$(kbuild-dir)/Makefile \
|
||||||
|
) \
|
||||||
|
)
|
||||||
|
|
||||||
include scripts/Makefile.lib
|
include scripts/Makefile.lib
|
||||||
|
|
||||||
|
@ -4,6 +4,8 @@ test $# -ge 2 || { echo "Syntax: $0 SRCTREE OBJTREE"; exit 1; }
|
|||||||
|
|
||||||
# cd to objtree
|
# cd to objtree
|
||||||
cd -- "$2" || { echo "Syntax: $0 SRCTREE OBJTREE"; exit 1; }
|
cd -- "$2" || { echo "Syntax: $0 SRCTREE OBJTREE"; exit 1; }
|
||||||
|
# In separate objtree build, include/ might not exist yet
|
||||||
|
mkdir include 2>/dev/null
|
||||||
|
|
||||||
srctree="$1"
|
srctree="$1"
|
||||||
|
|
||||||
@ -46,10 +48,12 @@ if test x"$new" != x"$old"; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# (Re)generate */Kbuild and */Config.in
|
# (Re)generate */Kbuild and */Config.in
|
||||||
find -type d | while read -r d; do
|
{ cd -- "$srctree" && find -type d; } | while read -r d; do
|
||||||
d="${d#./}"
|
d="${d#./}"
|
||||||
|
|
||||||
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
|
||||||
#echo " CHK $dst"
|
#echo " CHK $dst"
|
||||||
|
|
||||||
@ -69,6 +73,7 @@ find -type d | while read -r d; do
|
|||||||
|
|
||||||
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
|
||||||
#echo " CHK $dst"
|
#echo " CHK $dst"
|
||||||
|
|
||||||
|
11
scripts/test_make_O
Executable file
11
scripts/test_make_O
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
b=`basename $PWD`
|
||||||
|
test "${b#busybox}" != "$b" || { echo "Must be run in busybox tree"; exit 1; }
|
||||||
|
|
||||||
|
rm -rf ../testdir_make_O.$$
|
||||||
|
mkdir ../testdir_make_O.$$
|
||||||
|
odir=`cd ../testdir_make_O.$$ && pwd`
|
||||||
|
test -d "$odir" || exit 1
|
||||||
|
|
||||||
|
make O="$odir" $MAKEOPTS "$@" defconfig busybox 2>&1 | tee test_make_O.log
|
Loading…
Reference in New Issue
Block a user