--- /dev/null
+#!/bin/bash -x
+
+ARG2=$2
+
+cleantools() {
+ make -C ../3a_asm clean
+ make -C ../3b_sim clean
+ make -C ../3c_disasm clean
+ rm -f *.s.dthex
+}
+
+buildtools() {
+ make -C ../3a_asm all
+ make -C ../3b_sim all
+}
+
+runasm() {
+ if [ "$ARG2" == "" ]; then
+ echo "runasm: please provide a assembler file"
+ exit 1
+ fi
+ ../3a_asm/dtas < $ARG2 > ${ARG2%.s}.dthex
+}
+
+runsim() {
+ if [ "$ARG2" == "" ]; then
+ echo "runsim: please provide a dthex file"
+ exit 1
+ fi
+ cd ../3b_sim; ./sim -f ../3_test/$ARG2
+}
+
+case $1 in
+ clean) cleantools;;
+ build) buildtools;;
+ asm) runasm;;
+ sim) runsim;;
+ *) echo "first argument must be clean|build|asm <file>|sim <file>"
+esac
+
clean:
-rm -Rf **/**.o **/**.hi dtas
-TESTFILES := $(shell ls tst/*.s) $(shell ls ../2_isa/src/*.s)
+TESTFILES := $(shell ls ../3_test/*.s) $(shell ls ../2_isa/src/*.s)
test: all $(TESTFILES:.s=.out)
%.out: %.s