Merge pull request #273 from wasamasa/r7rs-implementation
[jackhill/mal.git] / js / Makefile
1
2 TESTS = tests/types.js tests/reader.js
3
4 SOURCES_BASE = node_readline.js types.js reader.js printer.js interop.js
5 SOURCES_LISP = env.js core.js stepA_mal.js
6 SOURCES = $(SOURCES_BASE) $(SOURCES_LISP)
7 WEB_SOURCES = $(SOURCES:node_readline.js=jq_readline.js)
8
9 all: node_modules
10
11 dist: mal.js mal web/mal.js
12
13 node_modules:
14 npm install
15
16 mal.js: $(SOURCES)
17 cat $+ | grep -v "= *require('./" >> $@
18
19 mal: mal.js
20 echo "#!/usr/bin/env node" > $@
21 cat $< >> $@
22 chmod +x $@
23
24 web/mal.js: $(WEB_SOURCES)
25 cat $+ | grep -v "= *require('./" > $@
26
27 clean:
28 rm -f mal.js web/mal.js
29
30 .PHONY: stats tests $(TESTS)
31
32 stats: $(SOURCES)
33 @wc $^
34 @printf "%5s %5s %5s %s\n" `grep -E "^[[:space:]]*//|^[[:space:]]*$$" $^ | wc` "[comments/blanks]"
35 stats-lisp: $(SOURCES_LISP)
36 @wc $^
37 @printf "%5s %5s %5s %s\n" `grep -E "^[[:space:]]*//|^[[:space:]]*$$" $^ | wc` "[comments/blanks]"
38
39 tests: $(TESTS)
40
41 $(TESTS):
42 @echo "Running $@"; \
43 node $@ || exit 1; \