]> git.sur5r.net Git - cc65/blob - test/val/Makefile
Use simply-defined make variables.
[cc65] / test / val / Makefile
1
2 # makefile for the regression tests that return an error code on failure
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 .PHONY: all clean
23
24 SOURCES := $(wildcard *.c)
25
26 TESTS := $(SOURCES:%.c=$(WORKDIR)/%.prg)
27 TESTS += $(SOURCES:%.c=$(WORKDIR)/%.o.prg)
28 TESTS += $(SOURCES:%.c=$(WORKDIR)/%.os.prg)
29 TESTS += $(SOURCES:%.c=$(WORKDIR)/%.osi.prg)
30 TESTS += $(SOURCES:%.c=$(WORKDIR)/%.osir.prg)
31 TESTS += $(SOURCES:%.c=$(WORKDIR)/%.oi.prg)
32 TESTS += $(SOURCES:%.c=$(WORKDIR)/%.oir.prg)
33 TESTS += $(SOURCES:%.c=$(WORKDIR)/%.or.prg)
34
35 all: $(TESTS)
36
37 $(WORKDIR)/%.prg: %.c
38         $(CL65) $(CC65FLAGS) $< -o $@
39         $(SIM65) $(SIM65FLAGS) $@
40
41 $(WORKDIR)/%.o.prg: %.c
42         $(CL65) -O $(CC65FLAGS) $< -o $@
43         $(SIM65) $(SIM65FLAGS) $@
44
45 $(WORKDIR)/%.os.prg: %.c
46         $(CL65) -Os $(CC65FLAGS) $< -o $@
47         $(SIM65) $(SIM65FLAGS) $@
48
49 $(WORKDIR)/%.osi.prg: %.c
50         $(CL65) -Osi $(CC65FLAGS) $< -o $@
51         $(SIM65) $(SIM65FLAGS) $@
52
53 $(WORKDIR)/%.osir.prg: %.c
54         $(CL65) -Osir $(CC65FLAGS) $< -o $@
55         $(SIM65) $(SIM65FLAGS) $@
56
57 $(WORKDIR)/%.oi.prg: %.c
58         $(CL65) -Oi $(CC65FLAGS) $< -o $@
59         $(SIM65) $(SIM65FLAGS) $@
60
61 $(WORKDIR)/%.oir.prg: %.c
62         $(CL65) -Oir $(CC65FLAGS) $< -o $@
63         $(SIM65) $(SIM65FLAGS) $@
64
65 $(WORKDIR)/%.or.prg: %.c
66         $(CL65) -Or $(CC65FLAGS) $< -o $@
67         $(SIM65) $(SIM65FLAGS) $@
68
69 clean:
70         @$(RM) $(TESTS)
71         @$(RM) $(SOURCES:.c=.o)