a2d/desktop/res/go.sh
Joshua Bell 69e4d56fda equates
2018-03-02 20:06:58 -08:00

49 lines
976 B
Bash
Executable File

#!/bin/bash
set -e
function cecho {
case $1 in
red) tput setaf 1 ;;
green) tput setaf 2 ;;
yellow) tput setaf 3 ;;
esac
echo -e "$2"
tput sgr0
}
function do_make {
make "$1" \
&& (cecho green "make $1 good") \
|| (tput blink ; cecho red "MAKE $1 BAD" ; return 1)
}
function verify {
diff "orig/$1" "out/$2" \
&& (cecho green "diff $2 good" ) \
|| (tput blink ; cecho red "DIFF $2 BAD" ; return 1)
}
function stats {
echo "$1: "$(../res/stats.pl < "$1")
}
#do_make clean
do_make all
TARGETS="loader mgtk desktop invoker ovl1 ovl1a ovl2 ovl34567"
SOURCES="sys loader mgtk desktop invoker ovl1 ovl1a ovl2 ovl3 ovl4 ovl5 ovl6 ovl7"
# Verify original and output match
echo "Verifying diffs:"
for t in $TARGETS; do
verify "DESKTOP2_$t" "$t.built"
done;
verify "DESKTOP.SYSTEM.SYS" "sys.SYS"
# Compute stats
echo "Unidentified symbols:"
for t in $SOURCES; do
stats "$t.s"
done;