]> git.sur5r.net Git - cc65/blob - test/dasm/Makefile
Fixed _textcolor definition.
[cc65] / test / dasm / Makefile
1 # Makefile for the disassembler regression tests
2
3 ifneq ($(shell echo),)
4   CMD_EXE = 1
5 endif
6
7 ifdef CMD_EXE
8   EXE = .exe
9   MKDIR = mkdir $(subst /,\,$1)
10   RMDIR = -rmdir /s /q $(subst /,\,$1)
11   DEL = del /f $(subst /,\,$1)
12 else
13   EXE =
14   MKDIR = mkdir -p $1
15   RMDIR = $(RM) -r $1
16   DEL = $(RM) $1
17 endif
18
19 ifdef QUIET
20   .SILENT:
21 endif
22
23 CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65)
24 DA65 := $(if $(wildcard ../../bin/da65*),../../bin/da65,da65)
25
26 WORKDIR = ../../testwrk/dasm
27
28 DIFF = $(WORKDIR)/bdiff$(EXE)
29
30 CC = gcc
31 CFLAGS = -O2
32
33 START = --start-addr 0x8000
34
35 .PHONY: all clean
36
37 SOURCES := $(wildcard *.s)
38 CPUS = $(foreach src,$(SOURCES),$(src:%-disass.s=%))
39 BINS = $(foreach cpu,$(CPUS),$(WORKDIR)/$(cpu)-reass.bin)
40
41 # default target defined later
42 all: $(BINS)
43
44 $(WORKDIR):
45         $(call MKDIR,$(WORKDIR))
46
47 $(DIFF): ../bdiff.c | $(WORKDIR)
48         $(CC) $(CFLAGS) -o $@ $<
49
50 define DISASS_template
51
52 $(WORKDIR)/$1-disass.bin: $1-disass.s | $(WORKDIR)
53         $(CL65) --cpu $1 -t none $(START) -o $$@ $$<
54
55 $(WORKDIR)/$1-reass.s: $(WORKDIR)/$1-disass.bin
56         $(DA65) --cpu $1 $(START) -o $$@ $$<
57
58 $(WORKDIR)/$1-reass.bin: $(WORKDIR)/$1-reass.s $(DIFF)
59         $(if $(QUIET),echo dasm/$1-reass.bin)
60         $(CL65) --cpu $1 -t none $(START) -o $$@ $$<
61         $(DIFF) $$@ $(WORKDIR)/$1-disass.bin
62
63 endef # DISASS_template
64
65 $(foreach cpu,$(CPUS),$(eval $(call DISASS_template,$(cpu))))
66
67 clean:
68         @$(call RMDIR,$(WORKDIR))
69         @$(call DEL,$(SOURCES:.s=.o))