Livescript: update Dockerfile to support Travis.
[jackhill/mal.git] / livescript / Makefile
CommitLineData
a873632f
JB
1SOURCES_BASE = reader.ls printer.ls env.ls core.ls utils.ls
2SOURCES_STEPS = step0_repl.ls step1_read_print.ls step2_eval.ls \
3 step4_if_fn_do.ls step5_tco.ls step6_file.ls step7_quote.ls \
4 step8_macros.ls step9_try.ls stepA_mal.ls
0af8fd20 5SOURCES_LISP = env.ls core.ls stepA_mal.ls
a873632f 6SOURCES = $(SOURCES_BASE) $(SOURCES_STEPS)
dcccf1b2 7
a873632f 8BINS = $(SOURCES:%.ls=%.js)
dcccf1b2 9
4dde82ef
JB
10LSC = node_modules/.bin/lsc
11
12all: node_modules $(BINS)
dcccf1b2
JB
13
14node_modules:
15 npm install
16
0af8fd20 17%.js: %.ls node_modules
4dde82ef 18 $(LSC) -d -c $(@:%.js=%.ls)
dcccf1b2 19
0af8fd20
JB
20step1_read_print.js: utils.js reader.js printer.js
21step2_eval.js: utils.js reader.js printer.js
22step3_env.js: utils.js reader.js printer.js env.js
23step4_if_fn_do.js: utils.js reader.js printer.js env.js core.js
24step5_tco.js: utils.js reader.js printer.js env.js core.js
25step6_file.js: utils.js reader.js printer.js env.js core.js
26step7_quote.js: utils.js reader.js printer.js env.js core.js
27step8_macros.js: utils.js reader.js printer.js env.js core.js
28step9_try.js: utils.js reader.js printer.js env.js core.js
29stepA_mal.js: utils.js reader.js printer.js env.js core.js
30
dcccf1b2 31clean:
a873632f 32 rm -f $(BINS)
0af8fd20
JB
33
34stats: $(SOURCES)
35 @wc $^
36 @printf "%5s %5s %5s %s\n" `egrep "^\w*#|^\w*$$" $^ | wc` "[comments/blanks]"
37
38stats-lisp: $(SOURCES_LISP)
39 @wc $^
40 @printf "%5s %5s %5s %s\n" `egrep "^\w*#|^\w*$$" $^ | wc` "[comments/blanks]"