1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-07 23:29:39 +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
ifdef CMD_EXE
RM := del /f
EXE := .exe
MKDIR := mkdir
RMDIR := rmdir
RM = del /f $(subst /,\,$1)
MKDIR = mkdir $(subst /,\,$1)
RMDIR = rmdir /s /q $(subst /,\,$1)
else
RM := rm -f
EXE :=
MKDIR := mkdir -p
RMDIR := rmdir
RM = $(RM) $1
MKDIR = mkdir $1
RMDIR = rmdir $1
endif
WORKDIR := ../testwrk
CC := gcc
.PHONY: all dotests continue mostly-clean clean
all: dotests
$(WORKDIR):
$(MKDIR) $(WORKDIR)
$(call MKDIR,$(WORKDIR))
$(WORKDIR)/bdiff$(EXE): bdiff.c | $(WORKDIR)
$(CC) -O2 -o $@ $<
@ -50,5 +52,5 @@ mostly-clean:
@$(MAKE) -C misc clean
clean: mostly-clean
$(RM) $(WORKDIR)/bdiff$(EXE)
$(RMDIR) $(WORKDIR)
-@$(call RM,$(WORKDIR)/bdiff$(EXE))
-$(call RMDIR,$(WORKDIR))

View File

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

View File

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

View File

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

View File

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