C#: add step5_tco
[jackhill/mal.git] / cs / Makefile
CommitLineData
afde2df0
JM
1#####################
2
3TESTS =
4
b18969c0 5SOURCES = readline.cs types.cs reader.cs printer.cs env.cs core.cs \
96115d4f 6 step5_tco.cs
b18969c0 7
53beaa0a 8OTHER_SOURCES = getline.cs
afde2df0
JM
9
10#####################
11
afdf531e 12SRCS = step0_repl.cs step1_read_print.cs step2_eval.cs step3_env.cs \
96115d4f 13 step4_if_fn_do.cs step5_tco.cs
53beaa0a 14
53beaa0a 15LIB_SRCS = $(filter-out step%,$(OTHER_SOURCES) $(SOURCES))
afde2df0 16
b18969c0
JM
17FLAGS = -debug+
18
afde2df0
JM
19#####################
20
b18969c0 21all: mal.exe $(patsubst %.cs,%.exe,$(SRCS))
afde2df0 22
53beaa0a 23mal.exe: $(patsubst %.cs,%.exe,$(word $(words $(SOURCES)),$(SOURCES)))
afde2df0
JM
24 cp $< $@
25
53beaa0a
JM
26mal.dll: $(LIB_SRCS)
27 mcs $(FLAGS) -target:library $+ -out:$@
afde2df0 28
53beaa0a
JM
29%.exe: %.cs mal.dll
30 mcs $(FLAGS) -r:mal.dll $<
afde2df0
JM
31
32clean:
53beaa0a 33 rm -f *.dll *.exe *.mbd
afde2df0
JM
34
35.PHONY: stats tests $(TESTS)
36
37stats: $(SOURCES)
38 @wc $^
39
40tests: $(TESTS)
41
42$(TESTS):
43 @echo "Running $@"; \
44 ./$@ || exit 1; \