Merge pull request #379 from bjh21/bjh21-unterminated-string-fixes
[jackhill/mal.git] / basic / Makefile
CommitLineData
115e430d
JM
1basic_MODE = cbm
2BASICPP_OPTS = --mode $(basic_MODE)
3
4QB64 = qb64
47def37e 5
af621e3a
JM
6STEPS4_A = step4_if_fn_do.bas step5_tco.bas step6_file.bas \
7 step7_quote.bas step8_macros.bas step9_try.bas stepA_mal.bas
8STEPS3_A = step3_env.bas $(STEPS4_A)
9STEPS1_A = step1_read_print.bas step2_eval.bas $(STEPS3_A)
10STEPS0_A = step0_repl.bas $(STEPS1_A)
9e8f5211 11
115e430d
JM
12$(STEPS0_A): readline.in.bas readline_line.in.bas readline_char.in.bas
13$(STEPS1_A): debug.in.bas mem.in.bas types.in.bas reader.in.bas printer.in.bas
14$(STEPS3_A): env.in.bas
15$(STEPS4_A): core.in.bas
16
17
5afc402e
JM
18all: $(STEPS0_A)
19
20step%.bas: step%.in.bas
21 ./basicpp.py $(BASICPP_OPTS) $< > $@
22
241d5d57 23tests/%.bas: tests/%.in.bas
60ef223c 24 ./basicpp.py $(BASICPP_OPTS) $< > $@
b7b1787f 25
115e430d
JM
26# QBasic specific compilation rule
27step%: step%.bas
28 $(QB64) -x $(abspath $<) -o $(abspath $@)
5afc402e 29
01975886 30# CBM/C64 image rules
5afc402e 31
9d59cdb3 32%.prg: %.bas
4b84a23b 33 cat $< | tr "A-Z" "a-z" > $<.tmp
5afc402e
JM
34 #cat $< | sed 's/["]\@<!\<\w\+\>["]\@!/\L&/g' > $<.tmp
35 petcat -w2 -nc -o $@ $<.tmp
36 #rm $<.tmp
241d5d57 37
30a3d828 38mal.prg: stepA_mal.prg
9e8f5211 39 cp $< $@
0cb556e0 40
5afc402e
JM
41.args.mal.prg: .args.mal
42 petcat -text -w2 -o $@ $<
43
44core.mal.prg: ../core.mal
45 petcat -text -w2 -o $@ $<
46
47mal.d64: mal.prg .args.mal.prg core.mal.prg
48 c1541 -format "mal,01" d64 $@ \
49 -attach $@ \
50 -write $< mal \
51 -write .args.mal.prg .args.mal \
52 -write core.mal.prg core.mal
53
54
55# Clean and Stats rules
0cb556e0 56
c4269f9b 57.PHONY: clean
af621e3a
JM
58
59clean:
115e430d
JM
60 rm -f $(STEPS0_A) $(subst .bas,,$(STEPS0_A)) *.d64 *.prg qb64
61 rm -rf ./internal