Elm step 7-9
[jackhill/mal.git] / elm / Makefile
CommitLineData
16fbc20a
JB
1SOURCES = step0_repl.elm step1_read_print.elm \
2 step4_if_fn_do.elm step5_tco.elm step6_file.elm step7_quote.elm \
3 step8_macros.elm step9_try.elm # stepA_mal.ls \
4 #step2_eval.elm step3_env.elm
bff7ae8b
JB
5
6BINS = $(SOURCES:%.elm=%.js)
7
0d8a8d94 8ELM = node_modules/.bin/elm
bff7ae8b
JB
9
10all: node_modules $(BINS)
11
12node_modules:
13 npm install
14
0d8a8d94
JB
15elm_packages:
16 $(ELM) package install
17
bff7ae8b 18%.js: %.elm node_modules
0d8a8d94 19 $(ELM) make $(@:%.js=%.elm) --output $@
bff7ae8b 20
16fbc20a
JB
21STEP0_SOURCES = IO.elm
22STEP1_SOURCES = $(STEP0_SOURCES) Reader.elm Printer.elm Utils.elm Types.elm Env.elm
23STEP2_SOURCES = $(STEP1_SOURCES)
24STEP3_SOURCES = $(STEP2_SOURCES)
25STEP4_SOURCES = $(STEP3_SOURCES) Core.elm Eval.elm
26
27step1_read_print.js: $(STEP1_SOURCES)
c792f15e
JB
28#step2_eval.js: Reader.elm Printer.elm Utils.elm Types.elm
29#step3_env.js: Reader.elm Printer.elm Utils.elm Types.elm Env.elm
16fbc20a
JB
30step4_if_fn_do.js: $(STEP4_SOURCES)
31step5_tco.js: $(STEP4_SOURCES)
32step6_file.js: $(STEP4_SOURCES)
33step7_quote.js: $(STEP4_SOURCES)
34step8_macros.js: $(STEP4_SOURCES)
35step9_try.js: $(STEP4_SOURCES)
bff7ae8b
JB
36# stepA_mal.js: utils.js reader.js printer.js env.js core.js
37
38clean:
39 rm -f $(BINS)
40
41# stats: $(SOURCES)
42# @wc $^
43# @printf "%5s %5s %5s %s\n" `egrep "^\w*#|^\w*$$" $^ | wc` "[comments/blanks]"
44
45# stats-lisp: $(SOURCES_LISP)
46# @wc $^
47# @printf "%5s %5s %5s %s\n" `egrep "^\w*#|^\w*$$" $^ | wc` "[comments/blanks]"