Commit | Line | Data |
---|---|---|
45e1db6a JM |
1 | export GOPATH := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) |
2 | ||
69b4abd6 JM |
3 | ##################### |
4 | ||
af8fdff4 JM |
5 | SOURCES_BASE = src/types/types.go src/reader/reader.go src/printer/printer.go \ |
6 | src/env/env.go src/core/core.go | |
17e1c5f9 | 7 | SOURCES_LISP = src/step5_tco/step5_tco.go |
69b4abd6 JM |
8 | SOURCES = $(SOURCES_BASE) $(SOURCES_LISP) |
9 | ||
69b4abd6 JM |
10 | ##################### |
11 | ||
17e1c5f9 JM |
12 | SRCS = step0_repl.go step1_read_print.go step2_eval.go step3_env.go \ |
13 | step4_if_fn_do.go step5_tco.go | |
69b4abd6 JM |
14 | BINS = $(SRCS:%.go=%) |
15 | ||
16 | ##################### | |
17 | ||
18 | all: $(BINS) mal | |
19 | ||
20 | mal: $(word $(words $(BINS)),$(BINS)) | |
21 | cp $< $@ | |
22 | ||
45e1db6a JM |
23 | $(BINS): $(SOURCES_BASE) $(SOURCES_LISP) |
24 | go build $@ | |
69b4abd6 JM |
25 | |
26 | clean: | |
27 | rm -f $(BINS) mal | |
28 | ||
29 | .PHONY: stats stats-lisp | |
30 | ||
31 | stats: $(SOURCES) | |
32 | @wc $^ | |
33 | stats-lisp: $(SOURCES_LISP) | |
34 | @wc $^ |