1
0
mirror of https://github.com/cc65/cc65.git synced 2025-08-08 06:25:17 +00:00

Made test Makefiles work with CMD.EXE

This commit is contained in:
Oliver Schmidt
2015-06-27 00:03:45 +02:00
parent 54cfd2e2a1
commit 9bd11f161f
5 changed files with 70 additions and 61 deletions

View File

@@ -10,25 +10,27 @@ ifneq ($(shell echo),)
endif endif
ifdef CMD_EXE ifdef CMD_EXE
RM := del /f
EXE := .exe EXE := .exe
MKDIR := mkdir RM = del /f $(subst /,\,$1)
RMDIR := rmdir MKDIR = mkdir $(subst /,\,$1)
RMDIR = rmdir /s /q $(subst /,\,$1)
else else
RM := rm -f
EXE := EXE :=
MKDIR := mkdir -p RM = $(RM) $1
RMDIR := rmdir MKDIR = mkdir $1
RMDIR = rmdir $1
endif endif
WORKDIR := ../testwrk WORKDIR := ../testwrk
CC := gcc
.PHONY: all dotests continue mostly-clean clean .PHONY: all dotests continue mostly-clean clean
all: dotests all: dotests
$(WORKDIR): $(WORKDIR):
$(MKDIR) $(WORKDIR) $(call MKDIR,$(WORKDIR))
$(WORKDIR)/bdiff$(EXE): bdiff.c | $(WORKDIR) $(WORKDIR)/bdiff$(EXE): bdiff.c | $(WORKDIR)
$(CC) -O2 -o $@ $< $(CC) -O2 -o $@ $<
@@ -50,5 +52,5 @@ mostly-clean:
@$(MAKE) -C misc clean @$(MAKE) -C misc clean
clean: mostly-clean clean: mostly-clean
$(RM) $(WORKDIR)/bdiff$(EXE) -@$(call RM,$(WORKDIR)/bdiff$(EXE))
$(RMDIR) $(WORKDIR) -$(call RMDIR,$(WORKDIR))

View File

@@ -5,16 +5,18 @@ ifneq ($(shell echo),)
CMD_EXE := 1 CMD_EXE := 1
endif endif
ifdef CMD_EXE
NOT := - # Hack
RM = del /f $(subst /,\,$1)
else
NOT := !
RM = $(RM) $1
endif
CC65FLAGS := -t sim6502 CC65FLAGS := -t sim6502
CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65) CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65)
ifdef CMD_EXE
RM := del /f
else
RM := rm -f
endif
WORKDIR := ../../testwrk WORKDIR := ../../testwrk
.PHONY: all clean .PHONY: all clean
@@ -25,22 +27,22 @@ TESTS := $(foreach option,. .o. .os. .osi. .osir. .oi. .oir. .or.,$(SOURCES:%.c=
all: $(TESTS) all: $(TESTS)
$(WORKDIR)/%.prg: %.c $(WORKDIR)/%.prg: %.c
! $(CL65) $(CC65FLAGS) $< -o $@ $(NOT) $(CL65) $(CC65FLAGS) $< -o $@
$(WORKDIR)/%.o.prg: %.c $(WORKDIR)/%.o.prg: %.c
! $(CL65) -O $(CC65FLAGS) $< -o $@ $(NOT) $(CL65) -O $(CC65FLAGS) $< -o $@
$(WORKDIR)/%.os.prg: %.c $(WORKDIR)/%.os.prg: %.c
! $(CL65) -Os $(CC65FLAGS) $< -o $@ $(NOT) $(CL65) -Os $(CC65FLAGS) $< -o $@
$(WORKDIR)/%.osi.prg: %.c $(WORKDIR)/%.osi.prg: %.c
! $(CL65) -Osi $(CC65FLAGS) $< -o $@ $(NOT) $(CL65) -Osi $(CC65FLAGS) $< -o $@
$(WORKDIR)/%.osir.prg: %.c $(WORKDIR)/%.osir.prg: %.c
! $(CL65) -Osir $(CC65FLAGS) $< -o $@ $(NOT) $(CL65) -Osir $(CC65FLAGS) $< -o $@
$(WORKDIR)/%.oi.prg: %.c $(WORKDIR)/%.oi.prg: %.c
! $(CL65) -Oi $(CC65FLAGS) $< -o $@ $(NOT) $(CL65) -Oi $(CC65FLAGS) $< -o $@
$(WORKDIR)/%.oir.prg: %.c $(WORKDIR)/%.oir.prg: %.c
! $(CL65) -Oir $(CC65FLAGS) $< -o $@ $(NOT) $(CL65) -Oir $(CC65FLAGS) $< -o $@
$(WORKDIR)/%.or.prg: %.c $(WORKDIR)/%.or.prg: %.c
! $(CL65) -Or $(CC65FLAGS) $< -o $@ $(NOT) $(CL65) -Or $(CC65FLAGS) $< -o $@
clean: clean:
@$(RM) $(TESTS) -@$(call RM,$(TESTS))
@$(RM) $(SOURCES:.c=.o) -@$(call RM,$(SOURCES:.c=.o))

View File

@@ -5,20 +5,23 @@ ifneq ($(shell echo),)
CMD_EXE := 1 CMD_EXE := 1
endif endif
ifdef CMD_EXE
S := $(subst /,\,/)
NOT := - # Hack
RM = del /f $(subst /,\,$1)
else
S := /
NOT := !
RM = $(RM) $1
endif
CC65FLAGS := -t sim6502 CC65FLAGS := -t sim6502
SIM65FLAGS := -x 200000000 SIM65FLAGS := -x 200000000
CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65) CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65)
SIM65 := $(if $(wildcard ../../bin/sim65*),../../bin/sim65,sim65) SIM65 := $(if $(wildcard ../../bin/sim65*),..$S..$Sbin$Ssim65,sim65)
ifdef CMD_EXE
RM := del /f
else
RM := rm -f
endif
WORKDIR := ../../testwrk
WORKDIR := ..$S..$Stestwrk
DIFF := $(WORKDIR)/bdiff DIFF := $(WORKDIR)/bdiff
.PHONY: all clean .PHONY: all clean
@@ -31,7 +34,7 @@ all: $(TESTS)
# should compile, but then hangs in an endless loop # should compile, but then hangs in an endless loop
$(WORKDIR)/endless%prg: endless.c $(WORKDIR)/endless%prg: endless.c
$(CL65) $(subst .,,$(*:.o%=-O%)) $(CC65FLAGS) $< -o $@ $(CL65) $(subst .,,$(*:.o%=-O%)) $(CC65FLAGS) $< -o $@
! $(SIM65) $(SIM65FLAGS) $@ $(NOT) $(SIM65) $(SIM65FLAGS) $@
# these need reference data that can't be generated by a host-compiled program, # these need reference data that can't be generated by a host-compiled program,
# in a useful way # in a useful way
@@ -51,6 +54,6 @@ $(WORKDIR)/sitest%prg: sitest.c
# -$(SIM65) $(SIM65FLAGS) $@ # -$(SIM65) $(SIM65FLAGS) $@
clean: clean:
@$(RM) $(TESTS) -@$(call RM,$(TESTS))
@$(RM) $(SOURCES:.c=.o) -@$(call RM,$(SOURCES:.c=.o))
@$(RM) $(SOURCES:%.c=$(WORKDIR)/%.out) -@$(call RM,$(SOURCES:%.c=$(WORKDIR)/%.out))

View File

@@ -6,22 +6,24 @@ ifneq ($(shell echo),)
CMD_EXE := 1 CMD_EXE := 1
endif endif
ifdef CMD_EXE
S := $(subst /,\,/)
RM = del /f $(subst /,\,$1)
else
S := /
RM = $(RM) $1
endif
CC65FLAGS := -t sim6502 CC65FLAGS := -t sim6502
SIM65FLAGS := -x 200000000 SIM65FLAGS := -x 200000000
CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65) CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65)
SIM65 := $(if $(wildcard ../../bin/sim65*),../../bin/sim65,sim65) SIM65 := $(if $(wildcard ../../bin/sim65*),..$S..$Sbin$Ssim65,sim65)
ifdef CMD_EXE
RM := del /f
else
RM := rm -f
endif
WORKDIR := ../../testwrk
WORKDIR := ..$S..$Stestwrk
DIFF := $(WORKDIR)/bdiff DIFF := $(WORKDIR)/bdiff
CC := gcc
CFLAGS := -O2 -Wall -W -Wextra -fwrapv -fno-strict-overflow CFLAGS := -O2 -Wall -W -Wextra -fwrapv -fno-strict-overflow
.PHONY: all clean .PHONY: all clean
@@ -34,7 +36,7 @@ all: $(REFS) $(TESTS)
$(WORKDIR)/%.ref: %.c $(WORKDIR)/%.ref: %.c
$(CC) $(CFLAGS) $< -o $(WORKDIR)/$*.host $(CC) $(CFLAGS) $< -o $(WORKDIR)/$*.host
$(WORKDIR)/$*.host > $@ $(WORKDIR)$S$*.host > $@
# Some files have "K & R"-style syntax. Therefore, some forward # Some files have "K & R"-style syntax. Therefore, some forward
# function-declarations don't match the later function definitions. # function-declarations don't match the later function definitions.
@@ -91,8 +93,8 @@ $(WORKDIR)/%.or.prg: %.c $(WORKDIR)/%.ref
$(DIFF) $(WORKDIR)/$*.out $(WORKDIR)/$*.ref $(DIFF) $(WORKDIR)/$*.out $(WORKDIR)/$*.ref
clean: clean:
@$(RM) $(TESTS) -@$(call RM,$(TESTS))
@$(RM) $(SOURCES:.c=.o) -@$(call RM,$(SOURCES:.c=.o))
@$(RM) $(SOURCES:%.c=$(WORKDIR)/%.out) -@$(call RM,$(SOURCES:%.c=$(WORKDIR)/%.out))
@$(RM) $(SOURCES:%.c=$(WORKDIR)/%.ref) -@$(call RM,$(SOURCES:%.c=$(WORKDIR)/%.ref))
@$(RM) $(SOURCES:%.c=$(WORKDIR)/%.host) -@$(call RM,$(SOURCES:%.c=$(WORKDIR)/%.host))

View File

@@ -5,18 +5,18 @@ ifneq ($(shell echo),)
CMD_EXE := 1 CMD_EXE := 1
endif endif
ifdef CMD_EXE
RM = del /f $(subst /,\,$1)
else
RM = $(RM) $1
endif
CC65FLAGS := -t sim6502 CC65FLAGS := -t sim6502
SIM65FLAGS := -x 200000000 SIM65FLAGS := -x 200000000
CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65) CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65)
SIM65 := $(if $(wildcard ../../bin/sim65*),../../bin/sim65,sim65) SIM65 := $(if $(wildcard ../../bin/sim65*),../../bin/sim65,sim65)
ifdef CMD_EXE
RM := del /f
else
RM := rm -f
endif
WORKDIR := ../../testwrk WORKDIR := ../../testwrk
.PHONY: all clean .PHONY: all clean
@@ -66,5 +66,5 @@ $(WORKDIR)/%.or.prg: %.c
$(SIM65) $(SIM65FLAGS) $@ $(SIM65) $(SIM65FLAGS) $@
clean: clean:
@$(RM) $(TESTS) -@$(call RM,$(TESTS))
@$(RM) $(SOURCES:.c=.o) -@$(call RM,$(SOURCES:.c=.o))