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