1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
.SILENT:
PYTHON = @PYTHON@
VPATH = @srcdir@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
TESTS_DIR = $(srcdir)/tests
RESULTS_DIR = results
PORTS_DIR = $(srcdir)/ports
BUILD_DIR = gen
ALL_PORTS = mcs51 mcs51-large mcs51-stack-auto ds390 z80 z180 r2k sm83 tlcs90 hc08 s08 mos6502 stm8 pdk13 pdk14 pdk15
ALL_TESTS = $(shell find $(TESTS_DIR) -name "*.c")
PORT_RESULTS_DIR = $(RESULTS_DIR)/$(PORT)
PORT_RESULTS = $(ALL_TESTS:$(TESTS_DIR)/%.c=$(PORT_RESULTS_DIR)/%.out)
PORT_BUILD_DIR = $(BUILD_DIR)/$(PORT)
all: test-ports
test-ports:
for i in $(ALL_PORTS); do $(MAKE) test-port PORT=$$i; done
test-mcs51:
$(MAKE) test-port PORT=mcs51
test-port: port-results
clean: clean-gen
rm -rf $(RESULTS_DIR) *.pyc
rm -rf $(BUILD_DIR)
distclean: clean
rm -r Makefile
clean-gen:
for i in $(ALL_PORTS); do $(MAKE) clean-port PORT=$$i; done
clean-port:
rm -rf $(PORT_BUILD_DIR)
$(PORT_RESULTS_DIR)/%.out: $(TESTS_DIR)/%.c port-dirs
$(PYTHON) $(srcdir)/valdiag.py $(PORT) $< $(PORT_BUILD_DIR)/$* $(srcdir)/../../device/include > $@
grep FAIL $@ ; true
cat $@ | $(PYTHON) $(srcdir)/../regression/compact-results.py
port-results: port-dirs $(PORT_RESULTS)
cat $(PORT_RESULTS) | $(PYTHON) $(srcdir)/../regression/collate-results.py $(PORT)
port-dirs:
mkdir -p $(PORT_RESULTS_DIR)
mkdir -p $(PORT_BUILD_DIR)
|