#! /bin/sh
# "Make" tests.

ret=0
cd "$T3_OUT"

for i in anon anonobj anonvarg badnest bignum bignum2 foreach funcparm htmlify inh_next isin lclprop listprop lookup nested newprop objloop propaddr unicode varmac vector vector2
do
    if $SCRIPTS/test_make "$i" "$i"; then
        :
    else
        ret=1
    fi
done

for i in catch save html addlist listpar arith
do
    if $SCRIPTS/test_make -nodef "$i" "$i"; then
        :
    else
        ret=1
    fi
done

for i in extfunc objrep funcrep conflict
do
    if $SCRIPTS/test_make -nodef "$i" ${i}1 ${i}2; then
        :
    else
        ret=1
    fi
done

if $SCRIPTS/test_make -pre vocext vocext1 vocext2 reflect; then
    :
else
    ret=1
fi

for i in extern objmod
do
    if $SCRIPTS/test_make -nodef "$i" ${i}1 ${i}2 ${i}3; then
        :
    else
        ret=1
    fi
done

if $SCRIPTS/test_make -nodef gram2 $T3_LIBDIR/tok gram2; then
    :
else
    ret=1
fi

if $SCRIPTS/test_make -debug stack stack $T3_LIBDIR/reflect; then
    :
else
    ret=1
fi

if $SCRIPTS/test_make -pre targprop targprop $T3_LIBDIR/reflect; then
    :
else
    ret=1
fi

# These tests require running preinit (testmake normally suppresses it)
for i in vec_pre symtab enumprop modtobj undef undef2
do
    if $SCRIPTS/test_make "$i" -pre "$i"; then
        :
    else
        ret=1
    fi
done

# ITER does a save/restore test
if $SCRIPTS/test_make iter iter; then
    :
else
    ret=1
fi

if $SCRIPTS/test_restore iter2 iter; then
    :
else
    ret=1
fi

exit $ret
