From 25cf239d806efaa92ef5b3ef218f1c4ec4e101b1 Mon Sep 17 00:00:00 2001 From: Greg King Date: Thu, 16 Jul 2015 15:31:35 -0400 Subject: [PATCH] Added make rules that build the overlay sample programs. Fixes half of bug issue 178 (on GitHub). --- samples/Makefile | 23 +++++++++++++++++------ samples/README | 1 + 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/samples/Makefile b/samples/Makefile index 79988ea70..951706ce6 100644 --- a/samples/Makefile +++ b/samples/Makefile @@ -44,7 +44,7 @@ endif C1541 = c1541 # -------------------------------------------------------------------------- -# System dependent settings +# System-dependent settings # The Apple machines need the start address adjusted when using TGI LDFLAGS_mandelbrot_apple2 = --start-addr 0x4000 @@ -81,10 +81,10 @@ LDFLAGS_tgidemo_atari = -D __RESERVED_MEMORY__=0x2000 .PRECIOUS: %.o .o: - @$(LD) $(LDFLAGS_$(basename $@)_$(SYS)) -o $@ -t $(SYS) -m $@.map $^ $(CLIB) + @$(LD) $(LDFLAGS_$(@F)_$(SYS)) -o $@ -t $(SYS) -m $@.map $^ $(CLIB) # -------------------------------------------------------------------------- -# List of executables. This list could be made target dependent by checking +# List of executables. This list could be made target-dependent by checking # $(SYS). EXELIST = ascii \ @@ -103,13 +103,23 @@ EXELIST = ascii \ tgidemo # -------------------------------------------------------------------------- -# Rules how to make each one of the binaries +# Rules to make the binaries .PHONY: all all: $(EXELIST) # -------------------------------------------------------------------------- -# Rule to make a disk with all samples. Needs the c1541 program that comes +# Overlay rules. Overlays need special ld65 configuration files. Also, the +# overlay file-names are shortenned to fit the Atari's 8.3-character limit. + +multdemo: multidemo.o + @$(LD) -o $@ -C $(SYS)-overlay.cfg -m $@.map $^ $(CLIB) + +ovrldemo: overlaydemo.o + @$(LD) -o $@ -C $(SYS)-overlay.cfg -m $@.map $^ $(CLIB) + +# -------------------------------------------------------------------------- +# Rule to make a CBM disk with all samples. Needs the c1541 program that comes # with the VICE emulator. .PHONY: disk @@ -125,7 +135,7 @@ samples.d64: all done # -------------------------------------------------------------------------- -# Cleanup rules +# Clean-up rules .PHONY: clean clean: @@ -134,3 +144,4 @@ clean: .PHONY: zap zap: clean $(RM) $(EXELIST) samples.d64 + $(RM) multdemo.? ovrldemo.? diff --git a/samples/README b/samples/README index 5997fc8d0..edd06ff02 100644 --- a/samples/README +++ b/samples/README @@ -11,6 +11,7 @@ Please note: the programs manually. * The makefile specifies the C64 as the default target platform, because all + but one of the programs run on this platform. When compiling for another platform, you will have to change the line that specifies the target system at the top of the makefile.