When we have an invalid build option, don't rm -rf the current
directory. Add a quick sanity check to objdir before using it. It must start with /. If there was a make error getting it, report that and continue with the next target. If there was anything else, bail out.
This commit is contained in:
parent
781575b1b0
commit
2768c72ec3
@ -19,6 +19,12 @@
|
||||
# Output is put into _.boot.$TARGET_ARCH.log in sys.boot.
|
||||
#
|
||||
|
||||
die()
|
||||
{
|
||||
echo $*
|
||||
exit 1
|
||||
}
|
||||
|
||||
dobuild()
|
||||
{
|
||||
local ta=$1
|
||||
@ -27,6 +33,12 @@ dobuild()
|
||||
|
||||
echo -n "Building $ta ${opt} ... "
|
||||
objdir=$(make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make -V .OBJDIR" | tail -1)
|
||||
case ${objdir} in
|
||||
/*) ;;
|
||||
make*) echo Error message from make: $objdir
|
||||
continue ;;
|
||||
*) die Crazy object dir: $objdir ;;
|
||||
esac
|
||||
rm -rf ${objdir}
|
||||
if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make clean cleandepend cleandir obj depend" \
|
||||
> $lf 2>&1; then
|
||||
@ -116,4 +128,3 @@ for i in \
|
||||
ta=${i##*/}
|
||||
dobuild $ta _.boot.${ta}.debug.log "LOADER_DEBUG=yes"
|
||||
done
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user