Imported Upstream version 2.9.0
[debian/cc1111] / support / regression / ports / hc08 / spec.mk
1 # Regression test specification for the hc08 target running with uCsim
2 #
3
4 # path to uCsim
5 ifdef SDCC_BIN_PATH
6   UCHC08 = $(SDCC_BIN_PATH)/shc08
7
8   AS_HC08 = $(SDCC_BIN_PATH)/as-hc08
9 else
10   UCHC08A = $(top_builddir)/sim/ucsim/hc08.src/shc08
11   UCHC08B = $(top_builddir)/bin/shc08
12
13   UCHC08 = $(shell if [ -f $(UCHC08A) ]; then echo $(UCHC08A); else echo $(UCHC08B); fi)
14
15   AS_HC08 = $(top_builddir)/bin/as-hc08
16
17   SDCCFLAGS += --nostdinc -I$(top_srcdir)
18   LINKFLAGS += --nostdlib -L$(top_builddir)/device/lib/build/hc08
19 endif
20
21 SDCCFLAGS +=-mhc08 --less-pedantic --out-fmt-ihx -DREENTRANT=reentrant
22 LINKFLAGS += hc08.lib
23
24 OBJEXT = .rel
25 EXEEXT = .ihx
26
27 EXTRAS = $(PORT_CASES_DIR)/testfwk$(OBJEXT) $(PORT_CASES_DIR)/support$(OBJEXT)
28
29 # Rule to link into .ihx
30 #%$(EXEEXT): %$(OBJEXT) $(EXTRAS)
31
32 %$(EXEEXT): %$(OBJEXT) $(EXTRAS)
33         $(SDCC) $(SDCCFLAGS) $(LINKFLAGS) $(EXTRAS) $< -o $@
34
35 %$(OBJEXT): %.asm
36         $(AS_HC08) -plosgff $<
37
38 %$(OBJEXT): %.c
39         $(SDCC) $(SDCCFLAGS) -c $< -o $@
40
41 $(PORT_CASES_DIR)/%$(OBJEXT): $(PORTS_DIR)/$(PORT)/%.c
42         $(SDCC) $(SDCCFLAGS) -c $< -o $@
43
44 $(PORT_CASES_DIR)/%$(OBJEXT): fwk/lib/%.c
45         $(SDCC) $(SDCCFLAGS) -c $< -o $@
46
47 # run simulator with 10 seconds timeout
48 %.out: %$(EXEEXT) $(CASES_DIR)/timeout
49         mkdir -p $(dir $@)
50         -$(CASES_DIR)/timeout 10 $(UCHC08) $< < $(PORTS_DIR)/$(PORT)/uCsim.cmd > $@ \
51           || echo -e --- FAIL: \"timeout, simulation killed\" in $(<:$(EXEEXT)=.c)"\n"--- Summary: 1/1/1: timeout >> $@
52         python $(srcdir)/get_ticks.py < $@ >> $@
53         -grep -n FAIL $@ /dev/null || true
54
55 $(CASES_DIR)/timeout: fwk/lib/timeout.c
56         $(CC) $(CFLAGS) $< -o $@
57
58 _clean: