2 # This makefile takes each "at*" file, extracts it's part name
3 # And compiles it into an ELF binary.
4 # It also disassembles it for debugging purposes.
6 # Copyright 2008-2012 Michel Pollet <buserror@gmail.com>
8 # This file is part of simavr.
10 # simavr is free software: you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation, either version 3 of the License, or
13 # (at your option) any later version.
15 # simavr is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 # GNU General Public License for more details.
20 # You should have received a copy of the GNU General Public License
21 # along with simavr. If not, see <http://www.gnu.org/licenses/>.
23 sources := $(wildcard at*.c)
26 IPATH += ${simavr}/include
27 IPATH += ${simavr}/simavr/sim
29 tests_src = ${wildcard test_*.c}
30 tests = ${patsubst %.c, ${OBJ}/%.tst, ${tests_src}}
34 include ../Makefile.common
38 axf: ${sources:.c=.axf}
41 ${OBJ}/%.tst: tests.c %.c
43 $(CC) -MMD ${CFLAGS} ${LFLAGS} -o $@ $^ $(LDFLAGS)
46 @$(CC) -MMD ${CFLAGS} ${LFLAGS} -o $@ $^ $(LDFLAGS)
50 @export LD_LIBRARY_PATH=${simavr}/simavr/${OBJ} ;\
53 for test in ${OBJ}/test_*.tst; do \
54 num_run=$$(($$num_run+1)) ;\
56 echo "$$test returned with exit value $$?." ;\
57 num_failed=$$(($$num_failed+1)) ;\
60 echo "Tests run: $$num_run Successes: $$(($$num_run-$num_failed)) Failures: $$num_failed"