-# run simulator with 5 seconds timeout
-%.out: %$(EXEEXT) ports/$(PORT)/timeout
- mkdir -p `dirname $@`
- -ports/$(PORT)/timeout 5 $(S51) -t32 -S in=/dev/null,out=$@ $< < ports/mcs51/uCsim.cmd >/dev/null || \
- echo -e --- FAIL: \"timeout, simulation killed\" in $(<:.ihx=.c)"\n"--- Summary: 1/1/1: timeout >> $@
+$(PORT_CASES_DIR)/fwk.lib:
+ cp $(PORTS_DIR)/mcs51/fwk.lib $@
+
+# run simulator with 30 seconds timeout
+%.out: %$(EXEEXT) gen/timeout
+ mkdir -p $(dir $@)
+ -gen/timeout 30 "$(S51)" -t32 -S in=$(DEV_NULL),out=$@ $< < $(PORTS_DIR)/mcs51/uCsim.cmd > $(@:.out=.sim) \
+ || echo -e --- FAIL: \"timeout, simulation killed\" in $(<:$(EXEEXT)=.c)"\n"--- Summary: 1/1/1: timeout >> $@
+ python $(srcdir)/get_ticks.py < $(@:.out=.sim) >> $@