]> git.sur5r.net Git - cc65/blob - test/misc/Makefile
7af8c0cb17fb3da4d193209d59f7c7615c879d06
[cc65] / test / misc / Makefile
1
2 # makefile for the remaining tests that need special care in one way or another
3
4 ifneq ($(shell echo),)
5   CMD_EXE = 1
6 endif
7
8 CC65FLAGS = -t sim6502
9 SIM65FLAGS = -x 200000000
10
11 CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65)
12 SIM65 := $(if $(wildcard ../../bin/sim65*),../../bin/sim65,sim65)
13
14 ifdef CMD_EXE
15 RM := del /f
16 else
17 RM := rm -f
18 endif
19
20 WORKDIR := ./../../testwrk
21
22 DIFF := $(WORKDIR)/bdiff
23
24 .PHONY: all clean
25
26 SOURCES := $(wildcard *.c)
27 TESTS := $(SOURCES:%.c=$(WORKDIR)/%.prg)
28 TESTS += $(SOURCES:%.c=$(WORKDIR)/%.o.prg)
29 TESTS += $(SOURCES:%.c=$(WORKDIR)/%.os.prg)
30 TESTS += $(SOURCES:%.c=$(WORKDIR)/%.osi.prg)
31 TESTS += $(SOURCES:%.c=$(WORKDIR)/%.osir.prg)
32 TESTS += $(SOURCES:%.c=$(WORKDIR)/%.oi.prg)
33 TESTS += $(SOURCES:%.c=$(WORKDIR)/%.oir.prg)
34 TESTS += $(SOURCES:%.c=$(WORKDIR)/%.or.prg)
35
36 all: $(TESTS)
37
38 # should compile, but then hangs in an endless loop
39 $(WORKDIR)/endless%prg: endless.c
40         $(CL65) $(subst .,,($*:.o%=-O%)) $(CC65FLAGS) $< -o $@
41         ! $(SIM65) $(SIM65FLAGS) $@
42
43 # these need reference data that cant be generated by a host compiled program
44 # in a useful way
45 $(WORKDIR)/limits%prg: limits.c
46         $(CL65) $(subst .,,($*:.o%=-O%)) $(CC65FLAGS) $< -o $@
47         $(SIM65) $(SIM65FLAGS) $@ > $(WORKDIR)/limits.out
48         $(DIFF) $(WORKDIR)/limits.out limits.ref
49
50 # the rest are tests that fail currently for one reason or another
51 $(WORKDIR)/fields%prg: fields.c
52         @echo "FIXME: " $@ "will currently fail"
53         $(CL65) $(subst .,,($*:.o%=-O%)) $(CC65FLAGS) $< -o $@
54         -$(SIM65) $(SIM65FLAGS) $@
55 $(WORKDIR)/sitest%prg: sitest.c
56         @echo "FIXME: " $@ "will currently fail"
57         -$(CL65) $(subst .,,($*:.o%=-O%)) $(CC65FLAGS) $< -o $@
58         -$(SIM65) $(SIM65FLAGS) $@
59
60 clean:
61         @$(RM) $(TESTS)
62         @$(RM) $(SOURCES:.c=.o)
63         @$(RM) $(SOURCES:%.c=$(WORKDIR)/%.out)
64
65