diff --git a/test/misc/Makefile b/test/misc/Makefile index 6512a9fd9..06ee2a84f 100644 --- a/test/misc/Makefile +++ b/test/misc/Makefile @@ -20,7 +20,6 @@ else DEL = $(RM) $1 endif -CC65FLAGS = -t sim6502 SIM65FLAGS = -x 200000000 CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65) @@ -38,7 +37,8 @@ CFLAGS = -O2 .PHONY: all clean SOURCES := $(wildcard *.c) -TESTS = $(foreach option,$(OPTIONS),$(SOURCES:%.c=$(WORKDIR)/%.$(option).prg)) +TESTS = $(foreach option,$(OPTIONS),$(SOURCES:%.c=$(WORKDIR)/%.$(option).6502.prg)) +TESTS += $(foreach option,$(OPTIONS),$(SOURCES:%.c=$(WORKDIR)/%.$(option).65c02.prg)) all: $(TESTS) @@ -51,34 +51,35 @@ $(DIFF): ../bdiff.c | $(WORKDIR) define PRG_template # should compile, but then hangs in an endless loop -$(WORKDIR)/endless.$1.prg: endless.c | $(WORKDIR) - $(CL65) $(CC65FLAGS) -$1 -o $$@ $$< +$(WORKDIR)/endless.$1.$2.prg: endless.c | $(WORKDIR) + $(CL65) -t sim$2 -$1 -o $$@ $$< $(NOT) $(SIM65) $(SIM65FLAGS) $$@ # these need reference data that can't be generated by a host-compiled program, # in a useful way -$(WORKDIR)/limits.$1.prg: limits.c $(DIFF) - $(CL65) $(CC65FLAGS) -$1 -o $$@ $$< +$(WORKDIR)/limits.$1.$2.prg: limits.c $(DIFF) + $(CL65) -t sim$2 -$1 -o $$@ $$< $(SIM65) $(SIM65FLAGS) $$@ > $(WORKDIR)/limits.$1.out $(DIFF) $(WORKDIR)/limits.$1.out limits.ref # the rest are tests that fail currently for one reason or another -$(WORKDIR)/fields.$1.prg: fields.c | $(WORKDIR) +$(WORKDIR)/fields.$1.$2.prg: fields.c | $(WORKDIR) @echo "FIXME: " $$@ "currently will fail." - $(CL65) $(CC65FLAGS) -$1 -o $$@ $$< + $(CL65) -t sim$2 -$1 -o $$@ $$< -$(SIM65) $(SIM65FLAGS) $$@ -$(WORKDIR)/sitest.$1.prg: sitest.c | $(WORKDIR) +$(WORKDIR)/sitest.$1.$2.prg: sitest.c | $(WORKDIR) @echo "FIXME: " $$@ "currently will fail." - -$(CL65) $(CC65FLAGS) -$1 -o $$@ $$< + -$(CL65) -t sim$2 -$1 -o $$@ $$< # -$(SIM65) $(SIM65FLAGS) $$@ -$(WORKDIR)/cc65141011.$1.prg: cc65141011.c | $(WORKDIR) +$(WORKDIR)/cc65141011.$1.$2.prg: cc65141011.c | $(WORKDIR) @echo "FIXME: " $$@ "currently can fail." - $(CL65) $(CC65FLAGS) -$1 -o $$@ $$< + $(CL65) -t sim$2 -$1 -o $$@ $$< -$(SIM65) $(SIM65FLAGS) $$@ endef # PRG_template -$(foreach option,$(OPTIONS),$(eval $(call PRG_template,$(option)))) +$(foreach option,$(OPTIONS),$(eval $(call PRG_template,$(option),6502))) +$(foreach option,$(OPTIONS),$(eval $(call PRG_template,$(option),65c02))) clean: @$(call RMDIR,$(WORKDIR)) diff --git a/test/ref/Makefile b/test/ref/Makefile index 7bd10cf14..55c859af1 100644 --- a/test/ref/Makefile +++ b/test/ref/Makefile @@ -19,7 +19,6 @@ else DEL = $(RM) $1 endif -CC65FLAGS = -t sim6502 SIM65FLAGS = -x 200000000 CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65) @@ -38,7 +37,8 @@ CFLAGS = -O2 -Wall -W -Wextra -funsigned-char -fwrapv -fno-strict-overflow SOURCES := $(wildcard *.c) REFS = $(SOURCES:%.c=$(WORKDIR)/%.ref) -TESTS = $(foreach option,$(OPTIONS),$(SOURCES:%.c=$(WORKDIR)/%.$(option).prg)) +TESTS = $(foreach option,$(OPTIONS),$(SOURCES:%.c=$(WORKDIR)/%.$(option).6502.prg)) +TESTS += $(foreach option,$(OPTIONS),$(SOURCES:%.c=$(WORKDIR)/%.$(option).65c02.prg)) all: $(REFS) $(TESTS) @@ -70,14 +70,15 @@ $(WORKDIR)/yaccdbg.%.prg: yacc.c define PRG_template -$(WORKDIR)/%.$1.prg: %.c $(WORKDIR)/%.ref $(DIFF) - $(CL65) $$(CC65FLAGS) -$1 -o $$@ $$< +$(WORKDIR)/%.$1.$2.prg: %.c $(WORKDIR)/%.ref $(DIFF) + $(CL65) -t sim$2 $$(CC65FLAGS) -$1 -o $$@ $$< $(SIM65) $(SIM65FLAGS) $$@ > $(WORKDIR)/$$*.out $(DIFF) $(WORKDIR)/$$*.out $(WORKDIR)/$$*.ref endef # PRG_template -$(foreach option,$(OPTIONS),$(eval $(call PRG_template,$(option)))) +$(foreach option,$(OPTIONS),$(eval $(call PRG_template,$(option),6502))) +$(foreach option,$(OPTIONS),$(eval $(call PRG_template,$(option),65c02))) clean: @$(call RMDIR,$(WORKDIR)) diff --git a/test/val/Makefile b/test/val/Makefile index 8a07045ee..425d8ace6 100644 --- a/test/val/Makefile +++ b/test/val/Makefile @@ -14,7 +14,6 @@ else DEL = $(RM) $1 endif -CC65FLAGS = -t sim6502 SIM65FLAGS = -x 200000000 CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65) @@ -27,7 +26,15 @@ OPTIONS = g O Os Osi Osir Oi Oir Or .PHONY: all clean SOURCES := $(wildcard *.c) -TESTS = $(foreach option,$(OPTIONS),$(SOURCES:%.c=$(WORKDIR)/%.$(option).prg)) +TESTS := $(foreach option,$(OPTIONS),$(SOURCES:%.c=$(WORKDIR)/%.$(option).6502.prg)) +TESTS += $(foreach option,$(OPTIONS),$(SOURCES:%.c=$(WORKDIR)/%.$(option).65c02.prg)) + +# FIXME: These tests fail when built with optimizations for the 65c02 +TESTS := $(filter-out $(WORKDIR)/compare7.O%.65c02.prg,$(TESTS)) +TESTS := $(filter-out $(WORKDIR)/compare8.O%.65c02.prg,$(TESTS)) +TESTS := $(filter-out $(WORKDIR)/compare9.O%.65c02.prg,$(TESTS)) +TESTS := $(filter-out $(WORKDIR)/compare10.O%.65c02.prg,$(TESTS)) +TESTS := $(filter-out $(WORKDIR)/or1.O%.65c02.prg,$(TESTS)) all: $(TESTS) @@ -46,13 +53,14 @@ $(WORKDIR)/cq84.%.prg: CC65FLAGS += -Wc --all-cdecl define PRG_template -$(WORKDIR)/%.$1.prg: %.c | $(WORKDIR) - $(CL65) $$(CC65FLAGS) -$1 -o $$@ $$< +$(WORKDIR)/%.$1.$2.prg: %.c | $(WORKDIR) + $(CL65) -t sim$2 $$(CC65FLAGS) -$1 -o $$@ $$< $(SIM65) $(SIM65FLAGS) $$@ endef # PRG_template -$(foreach option,$(OPTIONS),$(eval $(call PRG_template,$(option)))) +$(foreach option,$(OPTIONS),$(eval $(call PRG_template,$(option),6502))) +$(foreach option,$(OPTIONS),$(eval $(call PRG_template,$(option),65c02))) clean: @$(call RMDIR,$(WORKDIR))