version 1.52, 2002/03/14 18:33:04 |
version 1.53, 2002/03/21 10:54:50 |
Line 225 export MAKEFLAGS MACHINE MACHINE_ARCH |
|
Line 225 export MAKEFLAGS MACHINE MACHINE_ARCH |
|
# can only work if the user has pre-set TOOLDIR in the environment or |
# can only work if the user has pre-set TOOLDIR in the environment or |
# used the -T option to build.sh. |
# used the -T option to build.sh. |
# |
# |
make=${TOOLDIR-nonexistent}/bin/nbmake |
make="${TOOLDIR-nonexistent}/bin/nbmake" |
if [ -x $make ]; then |
if [ -x $make ]; then |
for f in usr.bin/make/*.[ch] usr.bin/make/lst.lib/*.[ch]; do |
for f in usr.bin/make/*.[ch] usr.bin/make/lst.lib/*.[ch]; do |
if [ $f -nt $make ]; then |
if [ $f -nt $make ]; then |
|
|
# Build bootstrap nbmake if needed. |
# Build bootstrap nbmake if needed. |
if $do_rebuildmake; then |
if $do_rebuildmake; then |
$runcmd echo "===> Bootstrapping nbmake" |
$runcmd echo "===> Bootstrapping nbmake" |
tmpdir=${TMPDIR-/tmp}/nbbuild$$ |
tmpdir="${TMPDIR-/tmp}/nbbuild$$" |
|
|
$runcmd mkdir $tmpdir || bomb "cannot mkdir: $tmpdir" |
$runcmd mkdir "$tmpdir" || bomb "cannot mkdir: $tmpdir" |
trap "cd /; rm -r -f $tmpdir" 0 |
trap "cd /; rm -r -f \"$tmpdir\"" 0 |
trap "exit 1" 1 2 3 15 |
trap "exit 1" 1 2 3 15 |
$runcmd cd $tmpdir |
$runcmd cd "$tmpdir" |
|
|
$runcmd env CC="${HOST_CC-cc}" CPPFLAGS="${HOST_CPPFLAGS}" CFLAGS="${HOST_CFLAGS--O}" LDFLAGS="${HOST_LDFLAGS}" \ |
$runcmd env CC="${HOST_CC-cc}" CPPFLAGS="${HOST_CPPFLAGS}" CFLAGS="${HOST_CFLAGS--O}" LDFLAGS="${HOST_LDFLAGS}" \ |
$cwd/tools/make/configure || bomb "configure of nbmake failed" |
"$cwd/tools/make/configure" || bomb "configure of nbmake failed" |
$runcmd sh buildmake.sh || bomb "build of nbmake failed" |
$runcmd sh buildmake.sh || bomb "build of nbmake failed" |
|
|
make=$tmpdir/nbmake |
make="$tmpdir/nbmake" |
$runcmd cd $cwd |
$runcmd cd "$cwd" |
$runcmd rm -f usr.bin/make/*.o usr.bin/make/lst.lib/*.o |
$runcmd rm -f usr.bin/make/*.o usr.bin/make/lst.lib/*.o |
fi |
fi |
|
|
USE_NEW_TOOLCHAIN=`getmakevar USE_NEW_TOOLCHAIN` |
if [ "$runcmd" = "echo" ]; then |
|
USE_NEW_TOOLCHAIN=yes |
|
else |
|
USE_NEW_TOOLCHAIN=`getmakevar USE_NEW_TOOLCHAIN` |
|
fi |
if [ "${USE_NEW_TOOLCHAIN}" = "" ]; then |
if [ "${USE_NEW_TOOLCHAIN}" = "" ]; then |
echo "ERROR: build.sh (new toolchain) is not yet enabled for" |
echo "ERROR: build.sh (new toolchain) is not yet enabled for" |
echo |
echo |
|
|
# before continuing as bsd.own.mk will need this to pick up _SRC_TOP_OBJ_ |
# before continuing as bsd.own.mk will need this to pick up _SRC_TOP_OBJ_ |
# |
# |
if [ "$MKOBJDIRS" != "no" ] && [ ! -z "$makeobjdir" ]; then |
if [ "$MKOBJDIRS" != "no" ] && [ ! -z "$makeobjdir" ]; then |
$runcmd mkdir -p $makeobjdir |
$runcmd mkdir -p "$makeobjdir" |
fi |
fi |
|
|
# Find DESTDIR and TOOLDIR. |
# Find DESTDIR and TOOLDIR. |
Line 296 if [ "$runcmd" = "echo" ]; then |
|
Line 300 if [ "$runcmd" = "echo" ]; then |
|
DESTDIR='$DESTDIR' |
DESTDIR='$DESTDIR' |
TOOLDIR='$TOOLDIR' |
TOOLDIR='$TOOLDIR' |
else |
else |
DESTDIR=`getmakevar DESTDIR`; echo "===> DESTDIR path: $DESTDIR" |
DESTDIR=`getmakevar DESTDIR`; |
TOOLDIR=`getmakevar TOOLDIR`; echo "===> TOOLDIR path: $TOOLDIR" |
[ $? = 0 ] || bomb "getmakevar DESTDIR failed"; |
|
echo "===> DESTDIR path: $DESTDIR" |
|
|
|
TOOLDIR=`getmakevar TOOLDIR`; |
|
[ $? = 0 ] || bomb "getmakevar DESTDIR failed"; |
|
echo "===> TOOLDIR path: $TOOLDIR" |
|
|
export DESTDIR TOOLDIR |
export DESTDIR TOOLDIR |
fi |
fi |
|
|
Line 330 if $do_removedirs; then |
|
Line 340 if $do_removedirs; then |
|
fi |
fi |
|
|
# Recreate $TOOLDIR. |
# Recreate $TOOLDIR. |
mkdir -p $TOOLDIR/bin || bomb "mkdir of $TOOLDIR/bin failed" |
$runcmd mkdir -p "$TOOLDIR/bin" || bomb "mkdir of '$TOOLDIR/bin' failed" |
|
|
# Install nbmake if it was built. |
# Install nbmake if it was built. |
if $do_rebuildmake; then |
if $do_rebuildmake; then |
$runcmd rm -f $TOOLDIR/bin/nbmake |
$runcmd rm -f "$TOOLDIR/bin/nbmake" |
$runcmd cp $make $TOOLDIR/bin/nbmake |
$runcmd cp $make "$TOOLDIR/bin/nbmake" |
$runcmd rm -r -f $tmpdir |
$runcmd rm -r -f "$tmpdir" |
trap 0 1 2 3 15 |
trap 0 1 2 3 15 |
fi |
fi |
|
|
# Build a nbmake wrapper script, usable by hand as well as by build.sh. |
# Build a nbmake wrapper script, usable by hand as well as by build.sh. |
if [ -z "$makewrapper" ]; then |
if [ -z "$makewrapper" ]; then |
makewrapper=$TOOLDIR/bin/nbmake-$MACHINE |
makewrapper="$TOOLDIR/bin/nbmake-$MACHINE" |
if [ ! -z "$BUILDID" ]; then |
if [ ! -z "$BUILDID" ]; then |
makewrapper=$makewrapper-$BUILDID |
makewrapper="$makewrapper-$BUILDID" |
fi |
fi |
fi |
fi |
|
|
$runcmd rm -f $makewrapper |
$runcmd rm -f "$makewrapper" |
if [ "$runcmd" = "echo" ]; then |
if [ "$runcmd" = "echo" ]; then |
echo 'cat <<EOF >'$makewrapper |
echo 'cat <<EOF >'$makewrapper |
makewrapout= |
makewrapout= |
else |
else |
makewrapout=">>$makewrapper" |
makewrapout=">>\$makewrapper" |
fi |
fi |
|
|
eval cat <<EOF $makewrapout |
eval cat <<EOF $makewrapout |
Line 368 for f in $makeenv; do |
|
Line 378 for f in $makeenv; do |
|
done |
done |
eval echo "USETOOLS=yes\; export USETOOLS" $makewrapout |
eval echo "USETOOLS=yes\; export USETOOLS" $makewrapout |
|
|
eval cat <<EOF $makewrapout |
eval cat <<'EOF' $makewrapout |
|
|
exec \$TOOLDIR/bin/nbmake \${1+"\$@"} |
exec "$TOOLDIR/bin/nbmake" ${1+"$@"} |
EOF |
EOF |
[ "$runcmd" = "echo" ] && echo EOF |
[ "$runcmd" = "echo" ] && echo EOF |
$runcmd chmod +x $makewrapper |
$runcmd chmod +x "$makewrapper" |
|
|
if $do_buildsystem; then |
if $do_buildsystem; then |
${runcmd-exec} $makewrapper $buildtarget |
${runcmd-exec} "$makewrapper" $buildtarget |
elif $do_buildonlytools; then |
elif $do_buildonlytools; then |
if [ "$MKOBJDIRS" != "no" ]; then |
if [ "$MKOBJDIRS" != "no" ]; then |
$runcmd $makewrapper obj-tools || exit 1 |
$runcmd "$makewrapper" obj-tools || exit 1 |
fi |
fi |
$runcmd cd tools |
$runcmd cd tools |
if [ "$UPDATE" = "" ]; then |
if [ "$UPDATE" = "" ]; then |
${runcmd-exec} $makewrapper cleandir dependall install |
${runcmd-exec} "$makewrapper" cleandir dependall install |
else |
else |
${runcmd-exec} $makewrapper dependall install |
${runcmd-exec} "$makewrapper" dependall install |
fi |
fi |
fi |
fi |