view Makefile @ 140:86f6f3a71e60 default tip

Fix some bugs in tokenization/parsing routine
author William Astle <lost@l-w.ca>
date Tue, 16 Jul 2024 22:30:07 -0600
parents 9d57279c900e
children
line wrap: on
line source

.PHONY: all
CFLAGS ?= -Wall

all: bin/lwbasic.rom bin/lwbasic-coco2b.rom bin/lwbasic-coco3.rom bin/coco.zip bin/coco2.zip bin/coco2b.zip bin/coco3.zip

lwb_srcs := bytecode.s consscr.s defs.s error.s expr.s fps.s genio.s init.s int.s interp.s irq.s keyb.s keywordtab.s miscdata.s number.s parse.s print.s progctrl.s stack.s vars.s
lwb_srcs := $(addprefix src/,$(lwb_srcs))

bin/lwbasic.rom: src/lwbasic.s $(lwb_srcs)
	lwasm --6809 --tabs=16 --raw --list=src/lwbasic-coco2.list --symbols --output=bin/lwbasic.rom src/lwbasic.s
bin/lwbasic-coco2b.rom: src/lwbasic.s $(lwb_srcs)
	lwasm --6809 --tabs=16 --raw --list=src/lwbasic-coco2b.list --symbols --output=bin/lwbasic-coco2b.rom -DCOCO2B=1 src/lwbasic.s
bin/lwbasic-coco3.rom: src/lwbasic.s $(lwb_srcs)
	lwasm --6809 --tabs=16 --raw --list=src/lwbasic-coco3.list --symbols --output=bin/lwbasic-coco3.rom -DCOCO3=1 src/lwbasic.s

src/keywordtab.s: src/keywordlist.txt src/buildkeywordtab
	./src/buildkeywordtab src/keywordlist.txt src/keywordtab.s

src/buildkeywordtab: src/buildkeywordtab.c

.PHONY: clean
clean:
	rm -f bin/*.rom bin/*.zip
	rm -f src/*.list
	rm -f */*~ *~
	rm -f src/buildkeywordtab
	rm -f src/keywordtab.s

bin/coco2.zip: bin/lwbasic.rom
	mkdir -p coco2
	rm -f coco2/* coco2.zip
	dd if=bin/lwbasic.rom of=coco2/extbas11.rom bs=1024 count=8
	dd if=bin/lwbasic.rom of=coco2/bas12.rom bs=1024 count=8 skip=8
	dd if=bin/lwbasic.rom of=coco2/disk11.rom bs=1024 count=16 skip=16
	zip bin/coco2.zip coco2/extbas11.rom coco2/bas12.rom coco2/disk11.rom
	rm -rf coco2

bin/coco.zip: bin/lwbasic.rom
	mkdir -p coco
	rm -f coco/* coco.zip
	dd if=bin/lwbasic.rom of=coco/extbas11.rom bs=1024 count=8
	dd if=bin/lwbasic.rom of=coco/bas12.rom bs=1024 count=8 skip=8
	dd if=bin/lwbasic.rom of=coco/disk11.rom bs=1024 count=16 skip=16
	zip bin/coco.zip coco/extbas11.rom coco/bas12.rom coco/disk11.rom
	rm -rf coco

bin/coco2b.zip: bin/lwbasic-coco2b.rom
	mkdir -p coco2b
	rm -f coco2b/* coco2b.zip
	dd if=bin/lwbasic-coco2b.rom of=coco2b/extbas11.rom bs=1024 count=8
	dd if=bin/lwbasic-coco2b.rom of=coco2b/bas13.rom bs=1024 count=8 skip=8
	dd if=bin/lwbasic-coco2b.rom of=coco2b/disk11.rom bs=1024 count=16 skip=16
	zip bin/coco2b.zip coco2b/extbas11.rom coco2b/bas13.rom coco2b/disk11.rom
	rm -rf coco2b

bin/coco3.zip: bin/lwbasic-coco3.rom
	mkdir -p coco3
	rm -f coco3/* coco3.zip
	dd if=bin/lwbasic-coco3.rom of=coco3/coco3.rom bs=1024 count=32
	dd if=/dev/null of=coco3/disk11.rom bs=1024 count=8
	zip bin/coco3.zip coco3/coco3.rom coco3/disk11.rom
	rm -rf coco3

.PHONY: mame1 mame1d mame2 mame2d
mame1: bin/coco.zip
	mame coco -skip_gameinfo -rompath ./bin
mame1d: bin/coco.zip
	mame coco -skip_gameinfo -rompath ./bin -debug

mame2: bin/coco2.zip
	mame coco2 -skip_gameinfo -rompath ./bin
mame2d: bin/coco2.zip
	mame coco2 -skip_gameinfo -rompath ./bin -debug

.PHONY: mame3 mame3d
mame3: bin/coco3.zip
	mame coco3 -skip_gameinfo -rompath ./bin
mame3d: bin/coco3.zip
	mame coco3 -skip_gameinfo -rompath ./bin -debug

.PHONY: mame2b mame2bd
mame2b: bin/coco2b.zip
	mame coco2b -skip_gameinfo -rompath ./bin
mame2bd: bin/coco2b.zip
	mame coco2b -skip_gameinfo -rompath ./bin -debug