ef48258249b054cba364a19fc5273c8c71ee2d36
[fw/sdcc] / support / regression / ports / gbz80 / spec.mk
1 # Port specification for the gbz80 port.
2
3 EMU = $(SDCC_EXTRA_DIR)/emu/rrgb/rrgb
4
5 SDCCFLAGS +=-mgbz80 --nostdinc --less-pedantic -DREENTRANT=
6 LINKFLAGS = --nostdlib
7 LINKFLAGS += gbz80.lib
8 LIBDIR = $(SDCC_DIR)/device/lib/build/gbz80
9
10 EXEEXT = .gb
11
12 # Needs parts of gbdk-lib, namely the internal mul/div/mod functions.
13 EXTRAS = ports/$(PORT)/testfwk$(OBJEXT) ports/$(PORT)/support$(OBJEXT)
14
15 # Rule to link into .ihx
16 %.gb: %.c $(EXTRAS)
17         $(SDCC) $(SDCCFLAGS) $(LINKFLAGS) -L $(LIBDIR) $(EXTRAS) $< -o $@
18
19 %$(OBJEXT): %.asm
20         ../../bin/as-gbz80 -plosgff $@ $<
21
22 %$(OBJEXT): %.s
23         ../../bin/as-gbz80 -plosgff $@ $<
24
25 %$(OBJEXT): %.c
26         echo $(OBJEXT)
27         $(SDCC) $(SDCCFLAGS) -c $< -o $@
28
29 ports/$(PORT)/%$(OBJEXT): fwk/lib/%.c
30         $(SDCC) $(SDCCFLAGS) -c $< -o $@
31
32 # PENDING: Path to sdcc-extra
33 %.out: %$(EXEEXT)
34         mkdir -p `dirname $@`
35         $(EMU) -k -m $< > $@
36         -grep -n FAIL $@ /dev/null || true
37
38 _clean:
39         rm -f ports/$(PORT)/testfwk.asm ports/$(PORT)/*.lst ports/$(PORT)/*.o ports/$(PORT)/*.sym
40