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
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
11 STEP_BINS
= $(STEPS
:%.cr
=%)
12 LAST_STEP_BIN
= $(word $(words $(STEP_BINS
)),$(STEP_BINS
))
22 crystal compile
--release
$<
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
)
31 rm -rf
$(STEP_BINS
) mal .crystal
33 stats
: types.cr error.cr readline.cr reader.cr printer.cr env.cr core.cr stepA_mal.cr
35 @printf
"%5s %5s %5s %s\n" `grep -E "^[[:space:]]*#|^[[:space:]]*$$" $^ | wc` "[comments/blanks]"
36 stats-lisp
: env.cr core.cr stepA_mal.cr
38 @printf
"%5s %5s %5s %s\n" `grep -E "^[[:space:]]*#|^[[:space:]]*$$" $^ | wc` "[comments/blanks]"
40 .PHONY
: all clean stats stats-lisp