aboutsummaryrefslogtreecommitdiff
path: root/vb/Makefile
diff options
context:
space:
mode:
authorJoel Martin <github@martintribe.org>2014-11-15 23:15:09 -0600
committerJoel Martin <github@martintribe.org>2015-01-09 16:16:47 -0600
commitee7cd5859e56423983f025088c8cef36b7ed09dd (patch)
treeda9f2011f4feaa34c96a63407fa4e8720eb1d4dc /vb/Makefile
parentc3b508af92800f63bf99f41af68f026535f454f5 (diff)
downloadmal-ee7cd5859e56423983f025088c8cef36b7ed09dd.tar.gz
mal-ee7cd5859e56423983f025088c8cef36b7ed09dd.zip
VB.Net: port of C# version.
Diffstat (limited to 'vb/Makefile')
-rw-r--r--vb/Makefile52
1 files changed, 52 insertions, 0 deletions
diff --git a/vb/Makefile b/vb/Makefile
new file mode 100644
index 0000000..d9ce097
--- /dev/null
+++ b/vb/Makefile
@@ -0,0 +1,52 @@
+#####################
+
+DEBUG =
+
+TESTS =
+
+SOURCES_BASE = readline.vb types.vb reader.vb printer.vb
+SOURCES_LISP = env.vb core.vb stepA_interop.vb
+SOURCES = $(SOURCES_BASE) $(SOURCES_LISP)
+
+#####################
+
+SRCS = step0_repl.vb step1_read_print.vb step2_eval.vb \
+ step3_env.vb step4_if_fn_do.vb step5_tco.vb step6_file.vb \
+ step7_quote.vb step8_macros.vb step9_try.vb stepA_interop.vb
+
+LIB_CS_SRCS = getline.cs
+LIB_VB_SRCS = $(filter-out step%,$(filter %.vb,$(SOURCES)))
+
+FLAGS = $(if $(strip $(DEBUG)),-debug:full,)
+
+#####################
+
+all: mal.exe $(patsubst %.vb,%.exe,$(SRCS))
+
+mal.exe: $(patsubst %.vb,%.exe,$(word $(words $(SOURCES)),$(SOURCES)))
+ cp $< $@
+
+mal_cs.dll: $(LIB_CS_SRCS)
+ mcs $(FLAGS) -target:library $+ -out:$@
+
+mal_vb.dll: mal_cs.dll $(LIB_VB_SRCS)
+ vbnc $(FLAGS) -target:library -r:mal_cs.dll $(LIB_VB_SRCS) -out:$@
+
+%.exe: %.vb mal_vb.dll
+ vbnc $(FLAGS) -r:mal_vb.dll -r:mal_cs.dll $<
+
+clean:
+ rm -f *.dll *.exe *.mdb
+
+.PHONY: stats tests $(TESTS)
+
+stats: $(SOURCES)
+ @wc $^
+stats-lisp: $(SOURCES_LISP)
+ @wc $^
+
+tests: $(TESTS)
+
+$(TESTS):
+ @echo "Running $@"; \
+ ./$@ || exit 1; \