RM := del /f
EXE := .exe
MKDIR = mkdir
+ RMDIR = rmdir
else
RM := rm -f
EXE :=
MKDIR = mkdir -p
+ RMDIR = rmdir
endif
WORKDIR := ../testwrk
@$(MAKE) -C err clean
@$(MAKE) -C misc clean
@$(RM) $(WORKDIR)/bdiff$(EXE)
+ @$(RMDIR) $(WORKDIR)
.PHONY: all clean
-TESTS := $(patsubst %.c,%.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.o.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.os.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.osi.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.osir.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.oi.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.oir.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.or.prg,$(wildcard *.c))
+TESTS := $(patsubst %.c,$(WORKDIR)/%.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.o.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.os.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.osi.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.osir.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.oi.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.oir.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.or.prg,$(wildcard *.c))
all: $(TESTS)
-%.prg: %.c
+$(WORKDIR)/%.prg: %.c
! $(CL65) $(CC65FLAGS) $< -o $@
-%.o.prg: %.c
+$(WORKDIR)/%.o.prg: %.c
! $(CL65) $(CC65FLAGS) $< -o $@
-%.os.prg: %.c
+$(WORKDIR)/%.os.prg: %.c
! $(CL65) $(CC65FLAGS) $< -o $@
-%.osi.prg: %.c
+$(WORKDIR)/%.osi.prg: %.c
! $(CL65) $(CC65FLAGS) $< -o $@
-%.osir.prg: %.c
+$(WORKDIR)/%.osir.prg: %.c
! $(CL65) $(CC65FLAGS) $< -o $@
-%.oi.prg: %.c
+$(WORKDIR)/%.oi.prg: %.c
! $(CL65) $(CC65FLAGS) $< -o $@
-%.oir.prg: %.c
+$(WORKDIR)/%.oir.prg: %.c
! $(CL65) $(CC65FLAGS) $< -o $@
-%.or.prg: %.c
+$(WORKDIR)/%.or.prg: %.c
! $(CL65) $(CC65FLAGS) $< -o $@
clean:
- @$(RM) *.o
- @$(RM) *.prg
+ @$(RM) $(TESTS)
+ @$(RM) $(patsubst %.c,$(WORKDIR)/%.o,$(wildcard *.c))
.PHONY: all clean
-TESTS := $(patsubst %.c,%.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.o.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.os.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.osi.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.osir.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.oi.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.oir.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.or.prg,$(wildcard *.c))
+TESTS := $(patsubst %.c,$(WORKDIR)/%.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.o.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.os.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.osi.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.osir.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.oi.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.oir.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.or.prg,$(wildcard *.c))
all: $(TESTS)
# should compile, but then hangs in an endless loop
-endless%prg: endless.c
+$(WORKDIR)/endless%prg: endless.c
$(CL65) $(CC65FLAGS) $< -o $@
! $(SIM65) $(SIM65FLAGS) $@
# these need reference data that cant be generated by a host compiled program
# in a useful way
-limits%prg: limits.c
+$(WORKDIR)/limits%prg: limits.c
$(CL65) $(CC65FLAGS) $< -o $@
- $(SIM65) $(SIM65FLAGS) $@ > limits.out
- $(DIFF) limits.out limits.ref
+ $(SIM65) $(SIM65FLAGS) $@ > $(WORKDIR)/limits.out
+ $(DIFF) $(WORKDIR)/limits.out limits.ref
# the rest are tests that fail currently for one reason or another
-fields%prg: fields.c
+$(WORKDIR)/fields%prg: fields.c
@echo "FIXME: " $@ "will currently fail"
$(CL65) $(CC65FLAGS) $< -o $@
-$(SIM65) $(SIM65FLAGS) $@
-sitest%prg: sitest.c
+$(WORKDIR)/sitest%prg: sitest.c
@echo "FIXME: " $@ "will currently fail"
-$(CL65) $(CC65FLAGS) $< -o $@
-$(SIM65) $(SIM65FLAGS) $@
clean:
- @$(RM) *.o
- @$(RM) *.prg
- @$(RM) *.out
+ @$(RM) $(TESTS)
+ @$(RM) $(patsubst %.c,$(WORKDIR)/%.o,$(wildcard *.c))
+ @$(RM) $(patsubst %.c,$(WORKDIR)/%.out,$(wildcard *.c))
+
.PHONY: all clean
-REFS := $(patsubst %.c,%.ref,$(wildcard *.c))
+REFS := $(patsubst %.c,$(WORKDIR)/%.ref,$(wildcard *.c))
-TESTS := $(patsubst %.c,%.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.o.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.os.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.osi.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.osir.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.oi.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.oir.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.or.prg,$(wildcard *.c))
+TESTS := $(patsubst %.c,$(WORKDIR)/%.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.o.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.os.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.osi.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.osir.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.oi.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.oir.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.or.prg,$(wildcard *.c))
all: $(REFS) $(TESTS)
-%.ref: %.c
- $(CC) $(CFLAGS) $< -o $*.host
- ./$*.host > $@
+$(WORKDIR)/%.ref: %.c
+ $(CC) $(CFLAGS) $< -o $(WORKDIR)/$*.host
+ $(WORKDIR)/$*.host > $@
-%.prg: %.c %.ref
+$(WORKDIR)/%.prg: %.c $(WORKDIR)/%.ref
$(CL65) $(CC65FLAGS) $< -o $@
- $(SIM65) $(SIM65FLAGS) $@ > $*.out
- $(DIFF) $*.out $*.ref
+ $(SIM65) $(SIM65FLAGS) $@ > $(WORKDIR)/$*.out
+ $(DIFF) $(WORKDIR)/$*.out $(WORKDIR)/$*.ref
-%.o.prg: %.c %.ref
+$(WORKDIR)/%.o.prg: %.c $(WORKDIR)/%.ref
$(CL65) $(CC65FLAGS) $< -o $@
- $(SIM65) $(SIM65FLAGS) $@ > $*.out
- $(DIFF) $*.out $*.ref
+ $(SIM65) $(SIM65FLAGS) $@ > $(WORKDIR)/$*.out
+ $(DIFF) $(WORKDIR)/$*.out $(WORKDIR)/$*.ref
-%.os.prg: %.c %.ref
+$(WORKDIR)/%.os.prg: %.c $(WORKDIR)/%.ref
$(CL65) $(CC65FLAGS) $< -o $@
- $(SIM65) $(SIM65FLAGS) $@ > $*.out
- $(DIFF) $*.out $*.ref
+ $(SIM65) $(SIM65FLAGS) $@ > $(WORKDIR)/$*.out
+ $(DIFF) $(WORKDIR)/$*.out $(WORKDIR)/$*.ref
-%.osi.prg: %.c %.ref
+$(WORKDIR)/%.osi.prg: %.c $(WORKDIR)/%.ref
$(CL65) $(CC65FLAGS) $< -o $@
- $(SIM65) $(SIM65FLAGS) $@ > $*.out
- $(DIFF) $*.out $*.ref
+ $(SIM65) $(SIM65FLAGS) $@ > $(WORKDIR)/$*.out
+ $(DIFF) $(WORKDIR)/$*.out $(WORKDIR)/$*.ref
-%.osir.prg: %.c %.ref
+$(WORKDIR)/%.osir.prg: %.c $(WORKDIR)/%.ref
$(CL65) $(CC65FLAGS) $< -o $@
- $(SIM65) $(SIM65FLAGS) $@ > $*.out
- $(DIFF) $*.out $*.ref
+ $(SIM65) $(SIM65FLAGS) $@ > $(WORKDIR)/$*.out
+ $(DIFF) $(WORKDIR)/$*.out $(WORKDIR)/$*.ref
-%.oi.prg: %.c %.ref
+$(WORKDIR)/%.oi.prg: %.c $(WORKDIR)/%.ref
$(CL65) $(CC65FLAGS) $< -o $@
- $(SIM65) $(SIM65FLAGS) $@ > $*.out
- $(DIFF) $*.out $*.ref
+ $(SIM65) $(SIM65FLAGS) $@ > $(WORKDIR)/$*.out
+ $(DIFF) $(WORKDIR)/$*.out $(WORKDIR)/$*.ref
-%.oir.prg: %.c %.ref
+$(WORKDIR)/%.oir.prg: %.c $(WORKDIR)/%.ref
$(CL65) $(CC65FLAGS) $< -o $@
- $(SIM65) $(SIM65FLAGS) $@ > $*.out
- $(DIFF) $*.out $*.ref
+ $(SIM65) $(SIM65FLAGS) $@ > $(WORKDIR)/$*.out
+ $(DIFF) $(WORKDIR)/$*.out $(WORKDIR)/$*.ref
-%.or.prg: %.c %.ref
+$(WORKDIR)/%.or.prg: %.c $(WORKDIR)/%.ref
$(CL65) $(CC65FLAGS) $< -o $@
- $(SIM65) $(SIM65FLAGS) $@ > $*.out
- $(DIFF) $*.out $*.ref
+ $(SIM65) $(SIM65FLAGS) $@ > $(WORKDIR)/$*.out
+ $(DIFF) $(WORKDIR)/$*.out $(WORKDIR)/$*.ref
clean:
- @$(RM) *.o
- @$(RM) *.prg
- @$(RM) *.out
- @$(RM) *.ref
- @$(RM) *.host
+ @$(RM) $(TESTS)
+ @$(RM) $(patsubst %.c,$(WORKDIR)/%.o,$(wildcard *.c))
+ @$(RM) $(patsubst %.c,$(WORKDIR)/%.out,$(wildcard *.c))
+ @$(RM) $(patsubst %.c,$(WORKDIR)/%.ref,$(wildcard *.c))
+ @$(RM) $(patsubst %.c,$(WORKDIR)/%.host,$(wildcard *.c))
.PHONY: all clean
-TESTS := $(patsubst %.c,%.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.o.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.os.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.osi.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.osir.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.oi.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.oir.prg,$(wildcard *.c))
-TESTS += $(patsubst %.c,%.or.prg,$(wildcard *.c))
+TESTS := $(patsubst %.c,$(WORKDIR)/%.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.o.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.os.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.osi.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.osir.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.oi.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.oir.prg,$(wildcard *.c))
+TESTS += $(patsubst %.c,$(WORKDIR)/%.or.prg,$(wildcard *.c))
all: $(TESTS)
-%.prg: %.c
+$(WORKDIR)/%.prg: %.c
$(CL65) $(CC65FLAGS) $< -o $@
$(SIM65) $(SIM65FLAGS) $@
-%.o.prg: %.c
+$(WORKDIR)/%.o.prg: %.c
$(CL65) $(CC65FLAGS) $< -o $@
$(SIM65) $(SIM65FLAGS) $@
-%.os.prg: %.c
+$(WORKDIR)/%.os.prg: %.c
$(CL65) $(CC65FLAGS) $< -o $@
$(SIM65) $(SIM65FLAGS) $@
-%.osi.prg: %.c
+$(WORKDIR)/%.osi.prg: %.c
$(CL65) $(CC65FLAGS) $< -o $@
$(SIM65) $(SIM65FLAGS) $@
-%.osir.prg: %.c
+$(WORKDIR)/%.osir.prg: %.c
$(CL65) $(CC65FLAGS) $< -o $@
$(SIM65) $(SIM65FLAGS) $@
-%.oi.prg: %.c
+$(WORKDIR)/%.oi.prg: %.c
$(CL65) $(CC65FLAGS) $< -o $@
$(SIM65) $(SIM65FLAGS) $@
-%.oir.prg: %.c
+$(WORKDIR)/%.oir.prg: %.c
$(CL65) $(CC65FLAGS) $< -o $@
$(SIM65) $(SIM65FLAGS) $@
-%.or.prg: %.c
+$(WORKDIR)/%.or.prg: %.c
$(CL65) $(CC65FLAGS) $< -o $@
$(SIM65) $(SIM65FLAGS) $@
clean:
- @$(RM) *.o
- @$(RM) *.prg
+ @$(RM) $(TESTS)
+ @$(RM) $(patsubst %.c,$(WORKDIR)/%.o,$(wildcard *.c))