Commit | Line | Data |
---|---|---|
8f5b0f10 JM |
1 | ##################### |
2 | ||
3 | SOURCES_BASE = src/types.rs src/readline.rs \ | |
85bec8a0 JM |
4 | src/reader.rs src/printer.rs \ |
5 | src/env.rs src/core.rs | |
bbeb1b87 | 6 | SOURCES_LISP = src/env.rs src/core.rs src/bin/stepA_mal.rs |
8f5b0f10 JM |
7 | SOURCES = $(SOURCES_BASE) $(SOURCES_LISP) |
8 | ||
9 | ##################### | |
10 | ||
577e643b | 11 | SRCS = step0_repl.rs step1_read_print.rs step2_eval.rs step3_env.rs \ |
3744d566 | 12 | step4_if_fn_do.rs step5_tco.rs step6_file.rs step7_quote.rs \ |
90f618cb | 13 | step8_macros.rs step9_try.rs stepA_mal.rs |
434516e0 | 14 | BINS = $(SRCS:%.rs=target/release/%) |
8f5b0f10 JM |
15 | |
16 | ##################### | |
17 | ||
06bc1e41 | 18 | all: $(BINS) |
8f5b0f10 | 19 | |
5245b079 JM |
20 | dist: mal |
21 | ||
22 | mal: target/release/stepA_mal | |
23 | cp $< $@ | |
8f5b0f10 | 24 | |
8d78bc26 JM |
25 | # TODO: would be nice to build just the step requested |
26 | $(BINS): target/release/%: src/bin/%.rs $(wildcard src/*.rs) | |
27 | cargo build --release | |
2ab1e584 | 28 | |
8f5b0f10 JM |
29 | clean: |
30 | cargo clean | |
31 | rm -f mal | |
32 | ||
bbeb1b87 | 33 | .PHONY: stats stats-lisp mal |
8f5b0f10 JM |
34 | |
35 | stats: $(SOURCES) | |
36 | @wc $^ | |
f15b4021 | 37 | @printf "%5s %5s %5s %s\n" `grep -E "^[[:space:]]*//|^[[:space:]]*$$" $^ | wc` "[comments/blanks]" |
8f5b0f10 JM |
38 | stats-lisp: $(SOURCES_LISP) |
39 | @wc $^ | |
f15b4021 | 40 | @printf "%5s %5s %5s %s\n" `grep -E "^[[:space:]]*//|^[[:space:]]*$$" $^ | wc` "[comments/blanks]" |