mirror of
https://github.com/cc65/cc65.git
synced 2024-08-27 11:29:12 +00:00
CMD.EXE considers file deletion commands not able to delete anything as there's nothing to delete as failed. Of course we don't want to bail out of the Makefile because of missing files to delete. Therefore we ignore the return values with '-'. This change limits this workaround to CMD.EXE.
64 lines
1.7 KiB
Makefile
64 lines
1.7 KiB
Makefile
|
|
# makefile for the remaining tests that need special care in one way or another
|
|
|
|
ifneq ($(shell echo),)
|
|
CMD_EXE := 1
|
|
endif
|
|
|
|
ifdef CMD_EXE
|
|
S := $(subst /,\,/)
|
|
NOT := - # Hack
|
|
DEL = -del /f $(subst /,\,$1)
|
|
else
|
|
S := /
|
|
NOT := !
|
|
DEL = $(RM) $1
|
|
endif
|
|
|
|
CC65FLAGS := -t sim6502
|
|
SIM65FLAGS := -x 200000000
|
|
|
|
CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65)
|
|
SIM65 := $(if $(wildcard ../../bin/sim65*),..$S..$Sbin$Ssim65,sim65)
|
|
|
|
WORKDIR := ..$S..$Stestwrk
|
|
DIFF := $(WORKDIR)/bdiff
|
|
|
|
.PHONY: all clean
|
|
|
|
SOURCES := $(wildcard *.c)
|
|
TESTS := $(foreach option,. .o. .os. .osi. .osir. .oi. .oir. .or.,$(SOURCES:%.c=$(WORKDIR)/%$(option)prg))
|
|
|
|
all: $(TESTS)
|
|
|
|
# should compile, but then hangs in an endless loop
|
|
$(WORKDIR)/endless%prg: endless.c
|
|
$(CL65) $(subst .,,$(*:.o%=-O%)) $(CC65FLAGS) $< -o $@
|
|
$(NOT) $(SIM65) $(SIM65FLAGS) $@
|
|
|
|
# these need reference data that can't be generated by a host-compiled program,
|
|
# in a useful way
|
|
$(WORKDIR)/limits%prg: limits.c
|
|
$(CL65) $(subst .,,$(*:.o%=-O%)) $(CC65FLAGS) $< -o $@
|
|
$(SIM65) $(SIM65FLAGS) $@ > $(WORKDIR)/limits.out
|
|
$(DIFF) $(WORKDIR)/limits.out limits.ref
|
|
|
|
# the rest are tests that fail currently for one reason or another
|
|
$(WORKDIR)/fields%prg: fields.c
|
|
@echo "FIXME: " $@ "currently will fail."
|
|
$(CL65) $(subst .,,$(*:.o%=-O%)) $(CC65FLAGS) $< -o $@
|
|
-$(SIM65) $(SIM65FLAGS) $@
|
|
$(WORKDIR)/sitest%prg: sitest.c
|
|
@echo "FIXME: " $@ "currently will fail."
|
|
-$(CL65) $(subst .,,$(*:.o%=-O%)) $(CC65FLAGS) $< -o $@
|
|
# -$(SIM65) $(SIM65FLAGS) $@
|
|
$(WORKDIR)/cc65141011%prg: cc65141011.c
|
|
@echo "FIXME: " $@ "currently can fail."
|
|
$(CL65) $(subst .,,$(*:.o%=-O%)) $(CC65FLAGS) $< -o $@
|
|
-$(SIM65) $(SIM65FLAGS) $@
|
|
|
|
clean:
|
|
@$(call DEL,$(TESTS))
|
|
@$(call DEL,$(SOURCES:.c=.o))
|
|
@$(call DEL,$(SOURCES:%.c=$(WORKDIR)/%.out))
|