view Makefile @ 90:f1d847f69c0d

Add target for explicit coco1 for MAME rules Mame seems to have removed the coco2 machine target. Add an additional coco1 set of targets that uses the bare "coco" machine.
author William Astle <lost@l-w.ca>
date Tue, 17 Oct 2023 17:03:17 -0600
parents bb50ac9fdf37
children a6a53e5c04bd
line wrap: on
line source

.PHONY: all
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 := consscr.s defs.s error.s expr.s fps.s genio.s init.s int.s interp.s irq.s keyb.s keywords.s miscdata.s number.s print.s progctrl.s token.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

.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/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