Commit | Line | Data |
---|---|---|
86fe6314 | 1 | STEPS = step0_repl.cr step1_read_print.cr step2_eval.cr step3_env.cr \ |
2 | step4_if_fn_do.cr step5_tco.cr step6_file.cr step7_quote.cr \ | |
3 | step8_macros.cr step9_try.cr stepA_mal.cr | |
4 | ||
a821cd72 JM |
5 | STEP0_DEPS = readline.cr |
6 | STEP1_DEPS = $(STEP0_DEPS) reader.cr printer.cr | |
7 | STEP2_DEPS = $(STEP1_DEPS) types.cr | |
8 | STEP3_DEPS = $(STEP2_DEPS) env.cr | |
9 | STEP4_DEPS = $(STEP3_DEPS) core.cr error.cr | |
10 | ||
86fe6314 | 11 | STEP_BINS = $(STEPS:%.cr=%) |
12 | LAST_STEP_BIN = $(word $(words $(STEP_BINS)),$(STEP_BINS)) | |
13 | ||
b6dc3e37 JM |
14 | all: $(STEP_BINS) |
15 | ||
16 | dist: mal | |
86fe6314 | 17 | |
18 | mal: $(LAST_STEP_BIN) | |
19 | cp $< $@ | |
20 | ||
a821cd72 | 21 | $(STEP_BINS): %: %.cr |
d10848bb | 22 | crystal compile --release $< |
86fe6314 | 23 | |
a821cd72 JM |
24 | step0_repl: $(STEP0_DEPS) |
25 | step1_read_print: $(STEP1_DEPS) | |
26 | step2_eval: $(STEP2_DEPS) | |
27 | step3_env: $(STEP3_DEPS) | |
28 | step4_if_fn_do step5_tco step6_file step7_quote step8_macros step9_try stepA_mal: $(STEP4_DEPS) | |
29 | ||
86fe6314 | 30 | clean: |
31 | rm -rf $(STEP_BINS) mal .crystal | |
32 | ||
abff2fa8 | 33 | stats: types.cr error.cr readline.cr reader.cr printer.cr env.cr core.cr stepA_mal.cr |
86fe6314 | 34 | @wc $^ |
f15b4021 | 35 | @printf "%5s %5s %5s %s\n" `grep -E "^[[:space:]]*#|^[[:space:]]*$$" $^ | wc` "[comments/blanks]" |
86fe6314 | 36 | stats-lisp: env.cr core.cr stepA_mal.cr |
37 | @wc $^ | |
f15b4021 | 38 | @printf "%5s %5s %5s %s\n" `grep -E "^[[:space:]]*#|^[[:space:]]*$$" $^ | wc` "[comments/blanks]" |
86fe6314 | 39 | |
40 | .PHONY: all clean stats stats-lisp | |
41 |