Commit | Line | Data |
---|---|---|
115e430d JM |
1 | basic_MODE = cbm |
2 | BASICPP_OPTS = --mode $(basic_MODE) | |
3 | ||
4 | QB64 = qb64 | |
47def37e | 5 | |
af621e3a JM |
6 | STEPS4_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 | |
8 | STEPS3_A = step3_env.bas $(STEPS4_A) | |
9 | STEPS1_A = step1_read_print.bas step2_eval.bas $(STEPS3_A) | |
10 | STEPS0_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 |
18 | all: $(STEPS0_A) |
19 | ||
20 | step%.bas: step%.in.bas | |
21 | ./basicpp.py $(BASICPP_OPTS) $< > $@ | |
22 | ||
241d5d57 | 23 | tests/%.bas: tests/%.in.bas |
60ef223c | 24 | ./basicpp.py $(BASICPP_OPTS) $< > $@ |
b7b1787f | 25 | |
115e430d JM |
26 | # QBasic specific compilation rule |
27 | step%: 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 | 38 | mal.prg: stepA_mal.prg |
9e8f5211 | 39 | cp $< $@ |
0cb556e0 | 40 | |
5afc402e JM |
41 | .args.mal.prg: .args.mal |
42 | petcat -text -w2 -o $@ $< | |
43 | ||
44 | core.mal.prg: ../core.mal | |
45 | petcat -text -w2 -o $@ $< | |
46 | ||
47 | mal.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 | |
59 | clean: | |
115e430d JM |
60 | rm -f $(STEPS0_A) $(subst .bas,,$(STEPS0_A)) *.d64 *.prg qb64 |
61 | rm -rf ./internal |