Commit | Line | Data |
---|---|---|
2cc3804b NF |
1 | ##################### |
2 | ||
a61ea75a NF |
3 | SOURCES_BASE = src/step0_repl.erl src/step1_read_print.erl src/step2_eval.erl src/step3_env.erl \ |
4 | src/step4_if_fn_do.erl | |
5 | SOURCES_LISP = src/core.erl src/env.erl src/printer.erl src/reader.erl src/types.erl | |
2cc3804b NF |
6 | SOURCES = $(SOURCES_BASE) $(word $(words $(SOURCES_LISP)),${SOURCES_LISP}) |
7 | ||
8 | ##################### | |
9 | ||
a61ea75a | 10 | SRCS = step0_repl.erl step1_read_print.erl step2_eval.erl step3_env.erl step4_if_fn_do.erl |
2cc3804b NF |
11 | BINS = $(SRCS:%.erl=%) |
12 | ||
13 | ##################### | |
14 | ||
583a62df NF |
15 | .PHONY: all mal clean stats stats-lisp |
16 | ||
2cc3804b NF |
17 | all: $(BINS) mal |
18 | ||
19 | mal: $(word $(words $(BINS)),$(BINS)) | |
20 | cp $< $@ | |
21 | ||
22 | define dep_template | |
583a62df | 23 | .PHONY: $(1) |
2cc3804b NF |
24 | $(1): $(SOURCES_BASE) src/$(1).erl |
25 | MAL_STEP=$(1) rebar compile escriptize | |
26 | endef | |
27 | ||
28 | $(foreach b,$(BINS),$(eval $(call dep_template,$(b)))) | |
29 | ||
30 | clean: | |
583a62df | 31 | rebar clean |
2cc3804b NF |
32 | |
33 | stats: $(SOURCES) | |
34 | @wc $^ | |
35 | stats-lisp: $(SOURCES_LISP) | |
36 | @wc $^ |