Basic: step8 basics. Fix def!, let*, concat, scalars.
[jackhill/mal.git] / basic / Makefile
CommitLineData
60ef223c 1BASICPP_OPTS = --number-lines --combine-lines
47def37e 2
11f94d2e 3step%.bas: step%.in.bas
60ef223c 4 ./basicpp.py $(BASICPP_OPTS) $< > $@
11f94d2e 5
241d5d57 6step%.prg: step%.bas
4b84a23b
JM
7 cat $< | tr "A-Z" "a-z" > $<.tmp
8 #cat $< | sed 's/["]\@<!\<\w\+\>["]\@!/\L&/g' > $<.tmp
9 petcat -text -w2 -o $@ $<.tmp
10 #rm $<.tmp
241d5d57 11
9e8f5211
JM
12STEP0_DEPS = readline.in.bas
13STEP1_DEPS = $(STEP0_DEPS) debug.in.bas types.in.bas reader.in.bas printer.in.bas
14STEP3_DEPS = $(STEP1_DEPS) env.in.bas
15STEP4_DEPS = $(STEP3_DEPS) core.in.bas
16
17step0_repl.bas: $(STEP0_DEPS)
70f29a2b 18step1_read_print.bas step2_eval.bas: $(STEP1_DEPS)
9e8f5211 19step3_env.bas: $(STEP3_DEPS)
70f29a2b
JM
20step4_if_fn_do.bas step5_tco.bas step6_file.bas step7_quote.bas: $(STEP4_DEPS)
21step8_macros.bas: $(STEP4_DEPS)
b7b1787f 22
241d5d57 23tests/%.bas: tests/%.in.bas
60ef223c 24 ./basicpp.py $(BASICPP_OPTS) $< > $@
b7b1787f 25
241d5d57 26tests/%.prg: tests/%.bas
4b84a23b
JM
27 cat $< | tr "A-Z" "a-z" > $<.tmp
28 petcat -text -w2 -o $@ $<.tmp
29 rm $<.tmp
241d5d57 30
70f29a2b 31mal.prg: step8_macros.prg
9e8f5211 32 cp $< $@
0cb556e0 33
70f29a2b 34SOURCES_LISP = env.in.bas core.in.bas step8_macros.in.bas
0cb556e0
JM
35SOURCES = readline.in.bas types.in.bas reader.in.bas printer.in.bas $(SOURCES_LISP)
36
37.PHONY: stats
38
39stats: $(SOURCES)
40 @wc $^
41 @printf "%5s %5s %5s %s\n" `grep -E "^[[:space:]]*#|^[[:space:]]*REM |^[[:space:]]*$$" $^ | wc` "[comments/blanks]"
42stats-lisp: $(SOURCES_LISP)
43 @wc $^
44 @printf "%5s %5s %5s %s\n" `grep -E "^[[:space:]]*#|^[[:space:]]*REM |^[[:space:]]*$$" $^ | wc` "[comments/blanks]"
45