eaf8ece6eb81ecfc5e6364747a38ebfa08a7a2c6
[calu.git] / 3_test / exectest.sh
1 #!/bin/bash -x
2
3 ARG2=$2
4
5 cleantools() {
6         make -C ../3a_asm clean
7         make -C ../3b_sim clean
8         make -C ../3c_disasm clean
9         rm -f *.s.dthex
10 }
11
12 buildtools() {
13         make -C ../3a_asm -j3 all
14         make -C ../3b_sim -j3 all
15 }
16
17 runasm() {
18         if [ "$ARG2" == ""  ]; then
19                 echo "runasm: please provide a assembler file"
20                 exit 1
21         fi
22         ../3a_asm/dtas < $ARG2 > ${ARG2%.s}.dthex
23 }
24
25 runsim() {
26         if [ "$ARG2" == ""  ]; then
27                 echo "runsim: please provide a dthex file"
28                 exit 1
29         fi
30         cd ../3b_sim; ./sim -f ../3_test/$ARG2
31 }
32
33 runasmsim() {
34         if [ "$ARG2" == ""  ]; then
35                 echo "runasm: please provide a assembler file"
36                 exit 1
37         fi
38         ../3a_asm/dtas < $ARG2 > ${ARG2%.s}.dthex
39         cd ../3b_sim; ./sim -f ../3_test/${ARG2%.s}.dthex
40 }
41
42 case $1 in
43         clean) cleantools;;
44         build) buildtools;;
45         asm) runasm;;
46         sim) runsim;;
47         asmsim) runasmsim;;
48         *) echo "first argument must be clean|build|asm <file.s>|sim <file.dthex>|asmsim <file.s>"
49 esac
50