X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=samples%2FMakefile;h=de4814dc2ade6912a7f2aa52ffa0e63d400fea60;hb=2f44fb05a4908022b42de83363e5593e2af7b37a;hp=72074e82bf2cac75bf7b161e7e24edd03c7167d1;hpb=53dd513176425872128ef26031d00952ef7a0628;p=cc65 diff --git a/samples/Makefile b/samples/Makefile index 72074e82b..de4814dc2 100644 --- a/samples/Makefile +++ b/samples/Makefile @@ -1,45 +1,74 @@ # # Makefile for cc65 samples # +# This Makefile requires GNU make +# # Enter the target system here SYS = c64 -CRT0 = ../lib/$(SYS).o -CLIB = ../lib/$(SYS).lib -CC = ../cc65/cc65 -CL = ../cl65/cl65 -AS = ../binutils/ca65/ca65 -LD = ../binutils/ld65/ld65 +CRT0 = ../libsrc/$(SYS).o +CLIB = ../libsrc/$(SYS).lib +CC = ../src/cc65/cc65 +CL = ../src/cl65/cl65 +AS = ../src/ca65/ca65 +LD = ../src/ld65/ld65 C1541 = c1541 +# -------------------------------------------------------------------------- +# Generic rules + .c.o: @echo $< - @$(CL) -c -Oirs -t $(SYS) -I../include/ $< + @$(CC) -Oirs -T --codesize 500 -g -t $(SYS) -I../include/ $< + @$(AS) $(basename $<).s .s.o: @echo $< - @$(CL) -c $(basename $<).s + @$(AS) $(basename $<).s + + +# -------------------------------------------------------------------------- +# Rules how to make each one of the binaries +EXELIST=hello mousedemo nachtm plasma sieve .PHONY: all -all: nachtm hello sieve +all: $(EXELIST) + +hello: $(CRT0) hello.o $(CLIB) + @$(LD) -t $(SYS) -m hello.map -Ln hello.lbl -o $@ $^ + +mousedemo: $(CRT0) mousedemo.o $(CLIB) + @$(LD) -t $(SYS) -m mousedemo.map -Ln mousedemo.lbl -o $@ $^ nachtm: $(CRT0) nachtm.o $(CLIB) @$(LD) -t $(SYS) -m nachtm.map -Ln nachtm.lbl -o $@ $^ -hello: $(CRT0) hello.o $(CLIB) - @$(LD) -t $(SYS) -m hello.map -Ln hello.lbl -o $@ $^ +plasma: $(CRT0) plasma.o $(CLIB) + @$(LD) -t $(SYS) -m nachtm.map -Ln nachtm.lbl -o $@ $^ sieve: $(CRT0) sieve.o $(CLIB) @$(LD) -t $(SYS) -m sieve.map -Ln sieve.lbl -o $@ $^ + +# -------------------------------------------------------------------------- +# Rule to make a disk with all samples. Needs the c1541 program that comes +# with the VICE emulator. + .PHONY: disk -disk: c64.d64 +disk: samples.d64 + +samples.d64: all + $(C1541) -format samples,AA d64 $@ + for exe in $(EXELIST); do\ + $(C1541) -attach $@ -write $$exe;\ + done + -c64.d64: all - $(C1541) < c1541.rsp +# -------------------------------------------------------------------------- +# Cleanup rules .PHONY: clean clean: @@ -47,7 +76,7 @@ clean: .PHONY: zap zap: clean - rm -f nachtm hello + rm -f $(EXELIST) samples.d64