view Makefile @ 71:f4b2406d7352

Add numeric argument matching routine Numeric calculations need to either match types or do type promotion to matching types. Add a routine to handle that and have the routine through a type mismatch if the types are not compatible or not numeric. Note that this will require special handling for string concatenation and comparision which are obviously not numeric.
author William Astle <lost@l-w.ca>
date Sun, 02 Jul 2023 02:33:53 -0600
parents 9c2e66ef5fa1
children e74d00ac6b79
line wrap: on
line source

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

bin/lwbasic.rom: src/lwbasic.s
	lwasm --tabs=16 --raw --list=src/lwbasic-coco2.list --symbols --output=bin/lwbasic.rom src/lwbasic.s
bin/lwbasic-coco2b.rom: src/lwbasic.s
	lwasm --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
	lwasm --tabs=16 --raw --list=src/lwbasic-coco3.list --symbols --output=bin/lwbasic-coco3.rom -DCOCO3=1 src/lwbasic.s

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

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/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: mame2 mame2d
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