diff options
Diffstat (limited to 'tests/Makefile')
-rw-r--r-- | tests/Makefile | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/tests/Makefile b/tests/Makefile index 43d4134..4d66f39 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -2,8 +2,13 @@ DEBUG := #-DDEBUG LIB430COREDIR = .. -TEST_CSRC = test.c -TEST_OUT = $(patsubst %.c,%.o,$(TEST_CSRC)) +TEST_CSRC = \ + mov_constants.s \ + mov_addressing_dest.s \ + mov_addressing_source.s \ + add.s + +TEST_OUT = $(patsubst %.c,%.o,$(patsubst %.s,%.o,$(TEST_CSRC))) all: $(LIB430COREDIR)/lib430core.a $(TEST_OUT) @@ -12,13 +17,26 @@ $(LIB430COREDIR)/lib430core.a: .c.o: @echo "Testing" $< "..." - @msp430-elf32-gcc -T../link.ld $< -o tmp.elf -nostdlib -lgcc -lc + @msp430-elf32-gcc -T../link.ld -O0 -ggdb -g3 $< -o tmp.elf -nostdlib -lgcc -lc + @msp430-elf32-objcopy -Obinary tmp.elf tmp.bin + @echo "#define TESTBIN \\" > test.h + @od -t x1 tmp.bin | awk '{for (i=2; i<=NF; i++) printf "0x" $$i ", "}' >> test.h + @printf "\n#define TESTSIZE %u \n" $$(msp430-elf32-objdump tmp.elf -Dj .text | grep -E "^\s+[0-9a-fA-F]+:" | wc -l) >> test.h + @echo >> test.h + @gcc -Os -ggdb -g3 -Wall -W -pedantic $(DEBUG) -I../src -o tmp \ + test_$< -L$(LIB430COREDIR) -l430core + @./tmp + @rm tmp.elf tmp.bin tmp test.h + +.s.o: + @echo "Testing" $< "..." + @msp430-elf32-gcc -T../link.ld -O0 $< -o tmp.elf -nostdlib -lgcc -lc @msp430-elf32-objcopy -Obinary tmp.elf tmp.bin @echo "#define TESTBIN \\" > test.h @od -t x1 tmp.bin | awk '{for (i=2; i<=NF; i++) printf "0x" $$i ", "}' >> test.h @printf "\n#define TESTSIZE %u \n" $$(msp430-elf32-objdump tmp.elf -Dj .text | grep -E "^\s+[0-9a-fA-F]+:" | wc -l) >> test.h @echo >> test.h @gcc -Os -ggdb -g3 -Wall -W -pedantic $(DEBUG) -I../src -o tmp \ - core_test.c -L$(LIB430COREDIR) -l430core - @./tmp > log - @rm log tmp.elf tmp.bin tmp test.h + test_$(patsubst %.s,%.c,$<) -L$(LIB430COREDIR) -l430core + @./tmp + @rm tmp.elf tmp.bin tmp test.h |