Commit | Line | Data |
---|---|---|
16fbc20a JB |
1 | SOURCES = 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 | |
6 | BINS = $(SOURCES:%.elm=%.js) | |
7 | ||
0d8a8d94 | 8 | ELM = node_modules/.bin/elm |
bff7ae8b JB |
9 | |
10 | all: node_modules $(BINS) | |
11 | ||
12 | node_modules: | |
13 | npm install | |
14 | ||
0d8a8d94 JB |
15 | elm_packages: |
16 | $(ELM) package install | |
17 | ||
bff7ae8b | 18 | %.js: %.elm node_modules |
0d8a8d94 | 19 | $(ELM) make $(@:%.js=%.elm) --output $@ |
bff7ae8b | 20 | |
16fbc20a JB |
21 | STEP0_SOURCES = IO.elm |
22 | STEP1_SOURCES = $(STEP0_SOURCES) Reader.elm Printer.elm Utils.elm Types.elm Env.elm | |
23 | STEP2_SOURCES = $(STEP1_SOURCES) | |
24 | STEP3_SOURCES = $(STEP2_SOURCES) | |
25 | STEP4_SOURCES = $(STEP3_SOURCES) Core.elm Eval.elm | |
26 | ||
27 | step1_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 |
30 | step4_if_fn_do.js: $(STEP4_SOURCES) |
31 | step5_tco.js: $(STEP4_SOURCES) | |
32 | step6_file.js: $(STEP4_SOURCES) | |
33 | step7_quote.js: $(STEP4_SOURCES) | |
34 | step8_macros.js: $(STEP4_SOURCES) | |
35 | step9_try.js: $(STEP4_SOURCES) | |
bff7ae8b JB |
36 | # stepA_mal.js: utils.js reader.js printer.js env.js core.js |
37 | ||
38 | clean: | |
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]" |