Files
2026-01-11 23:13:28 +02:00

66 lines
2.1 KiB
Makefile

# Scoundrel65 reference implementation makefile
PROJNAME=scoundrel
CFILES=scoundrel.c
PBTDIR=platform-build-tools
CCBUILD=cl65 -O -Os
Z80BUILD=zcc
BUILDDIR=build
$(PROJNAME): bdir
$(CC) -std=c89 -O2 -o $(BUILDDIR)/$(PROJNAME) $(CFILES)
bdir:
mkdir -p $(BUILDDIR)
a2-build: bdir
$(CCBUILD) -t apple2 -C apple2-system.cfg -o $(BUILDDIR)/$(PROJNAME)-a2.bin $(CFILES)
a2: a2-build
cp $(PBTDIR)/apple2/tpl.dsk $(PROJNAME)-a2.dsk
java -jar $(PBTDIR)/apple2/ac.jar -p $(PROJNAME)-a2.dsk $(PROJNAME).system sys < $$(cl65 --print-target-path)/apple2/util/loader.system
java -jar $(PBTDIR)/apple2/ac.jar -as $(PROJNAME)-a2.dsk $(PROJNAME) bin < $(BUILDDIR)/$(PROJNAME)-a2.bin
mv $(PROJNAME)-a2.dsk $(BUILDDIR)/
a2e-build: bdir
$(CCBUILD) -t apple2enh -C apple2enh-system.cfg -o $(BUILDDIR)/$(PROJNAME)-a2e.bin $(CFILES)
a2e: a2e-build
cp $(PBTDIR)/apple2/tpl.dsk $(PROJNAME)-a2e.dsk
java -jar $(PBTDIR)/apple2/ac.jar -p $(PROJNAME)-a2e.dsk $(PROJNAME).system sys < $$(cl65 --print-target-path)/apple2enh/util/loader.system
java -jar $(PBTDIR)/apple2/ac.jar -as $(PROJNAME)-a2e.dsk $(PROJNAME) bin < $(BUILDDIR)/$(PROJNAME)-a2e.bin
mv $(PROJNAME)-a2e.dsk $(BUILDDIR)/
atari8bit: bdir
$(CCBUILD) -t atari -o $(BUILDDIR)/$(PROJNAME)-atari.bin $(CFILES)
c64: bdir
$(CCBUILD) -t c64 -o $(BUILDDIR)/$(PROJNAME)-c64.bin $(CFILES)
c16: bdir
$(CCBUILD) -t c16 -o $(BUILDDIR)/$(PROJNAME)-c16.bin $(CFILES)
c128: bdir
$(CCBUILD) -t c128 -o $(BUILDDIR)/$(PROJNAME)-c128.bin $(CFILES)
pet: bdir
$(CCBUILD) -t pet -o $(BUILDDIR)/$(PROJNAME)-pet.bin $(CFILES)
plus4: bdir
$(CCBUILD) -t plus4 -o $(BUILDDIR)/$(PROJNAME)-plus4.bin $(CFILES)
msx: bdir
$(Z80BUILD) +msx -create-app -subtype=rom $(CFILES) -o $(PROJNAME)
mv $(PROJNAME).rom $(BUILDDIR)/$(PROJNAME)-msx.rom
rm -f $(PROJNAME) *.bin *.img
zxspec: bdir
$(Z80BUILD) +zx -vn -lndos -clib=ansi -pragma-define:ansicolumns=40 -pragma-define:CLIB_KBHIT_NOSTORE=1 -create-app $(CFILES) -o $(PROJNAME)
mv $(PROJNAME).tap $(BUILDDIR)/$(PROJNAME)-zxspec.tap
rm $(PROJNAME)
all: $(PROJNAME) a2 a2e atari8bit c64 c16 c128 pet plus4 zxspec msx
clean:
rm -rf $(BUILDDIR) *.o