vectorgons/c64/Makefile

55 lines
1.6 KiB
Makefile

# ===========================================================================
# Vectorgons -- Commodore 64 build
# ---------------------------------------------------------------------------
# Cross-compiles the C64 edition with cc65 and packs it onto a .d64 disk
# image with VICE's c1541.
#
# make -> vectorgons.prg (raw C64 program, loads at $0801)
# make d64 -> vectorgons.d64 (bootable disk image)
# make run -> build + launch in the VICE x64sc emulator
# make clean
#
# cc65 need not be on PATH: set CC65_HOME / CL65 to point at an extracted
# install if it lives somewhere non-standard, e.g.
# make CL65=/path/to/cl65 CC65_HOME=/path/to/share/cc65
# ===========================================================================
CL65 ?= cl65
C1541 ?= c1541
X64 ?= x64sc
TARGET = vectorgons
PRG = $(TARGET).prg
D64 = $(TARGET).d64
CFG = c64-vg.cfg
SRC = vectorgons.c
# Name shown in the C64 disk directory (PETSCII, <=16 chars).
DISKNAME = vectorgons
DISKID = vg
# Filename on the disk that the user LOADs.
DISKFILE = vectorgons
CL65FLAGS = -t c64 -O -C $(CFG)
.PHONY: all d64 run clean
all: $(PRG)
$(PRG): $(SRC) $(CFG)
$(CL65) $(CL65FLAGS) $(SRC) -o $(PRG)
# Build a fresh, formatted .d64 and write the program into it.
d64: $(D64)
$(D64): $(PRG)
$(C1541) -format "$(DISKNAME),$(DISKID)" d64 $(D64) \
-write $(PRG) $(DISKFILE)
@echo "Wrote $(PRG) -> $(D64) as \"$(DISKFILE)\""
@$(C1541) $(D64) -dir
run: $(D64)
$(X64) -autostart $(D64)
clean:
rm -f $(PRG) $(D64) *.map *.o shot*.png seq_*.png f_*.png