]> git.sur5r.net Git - cc65/blob - test/Makefile
Ignore return values only with CMD.EXE.
[cc65] / test / Makefile
1
2 # top-level makefile for the regression tests
3
4 # You can comment this special target when you debug the regression tests.
5 # Then, make will give you more progress reports.
6 .SILENT:
7
8 ifneq ($(shell echo),)
9   CMD_EXE := 1
10 endif
11
12 ifdef CMD_EXE
13   M := -
14   EXE := .exe
15   DEL = del /f $(subst /,\,$1)
16   MKDIR = mkdir $(subst /,\,$1)
17   RMDIR = rmdir /s /q $(subst /,\,$1)
18 else
19   M :=
20   EXE :=
21   DEL = $(RM) $1
22   MKDIR = mkdir $1
23   RMDIR = rmdir $1
24 endif
25
26 WORKDIR := ../testwrk
27
28 CC := gcc
29
30 .PHONY: all dotests continue mostly-clean clean
31
32 all: dotests
33
34 $(WORKDIR):
35         $(call MKDIR,$(WORKDIR))
36
37 $(WORKDIR)/bdiff$(EXE): bdiff.c | $(WORKDIR)
38         $(CC) -O2 -o $@ $<
39
40 .NOTPARALLEL:
41
42 dotests: mostly-clean continue
43
44 continue: $(WORKDIR)/bdiff$(EXE)
45         @$(MAKE) -C val all
46         @$(MAKE) -C ref all
47         @$(MAKE) -C err all
48         @$(MAKE) -C misc all
49
50 mostly-clean:
51         @$(MAKE) -C val clean
52         @$(MAKE) -C ref clean
53         @$(MAKE) -C err clean
54         @$(MAKE) -C misc clean
55
56 clean: mostly-clean
57         $M@$(call DEL,$(WORKDIR)/bdiff$(EXE))
58         $M@$(call RMDIR,$(WORKDIR))