X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=samples%2FMakefile;h=f8fc0ffe7bf00c6098ec4a2423a45db92fcb3621;hb=7e43e5e0e1b973a8c6ddf2b968f5cdb08a7b72b5;hp=997c88bc26d55a578133f6caa9077d3240bbe7cd;hpb=c59aa8ffdf8a3f4cbd274e2f2992b5acd6d1dda4;p=cc65 diff --git a/samples/Makefile b/samples/Makefile index 997c88bc2..f8fc0ffe7 100644 --- a/samples/Makefile +++ b/samples/Makefile @@ -16,9 +16,12 @@ LD = ../src/ld65/ld65 C1541 = c1541 +# -------------------------------------------------------------------------- +# Generic rules + .c.o: @echo $< - @$(CC) -g -Oirs -t $(SYS) -I../include/ $< + @$(CC) -Oirs -T --forget-inc-paths --codesize 500 -g -t $(SYS) -I../include/ $< @$(AS) $(basename $<).s .s.o: @@ -26,31 +29,68 @@ C1541 = c1541 @$(AS) $(basename $<).s +# -------------------------------------------------------------------------- +# Rules how to make each one of the binaries + +EXELIST=ascii fire gunzip65 hello mousedemo nachtm plasma sieve tgidemo + .PHONY: all -all: nachtm hello sieve +all: $(EXELIST) + +ascii: $(CRT0) ascii.o $(CLIB) + @$(LD) -t $(SYS) -m $(basename $@).map -o $@ $^ + +fire: $(CRT0) fire.o $(CLIB) + @$(LD) -t $(SYS) -m $(basename $@).map -o $@ $^ + +gunzip65: $(CRT0) gunzip65.o $(CLIB) + @$(LD) -t $(SYS) -m $(basename $@).map -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 $(basename $@).map -o $@ $^ -hello: $(CRT0) hello.o $(CLIB) - @$(LD) -t $(SYS) -m hello.map -Ln hello.lbl -o $@ $^ +mousedemo: $(CRT0) mousedemo.o $(CLIB) + @$(LD) -t $(SYS) -m $(basename $@).map -o $@ $^ -sieve: $(CRT0) sieve.o $(CLIB) - @$(LD) -t $(SYS) -m sieve.map -Ln sieve.lbl -o $@ $^ +nachtm: $(CRT0) nachtm.o $(CLIB) + @$(LD) -t $(SYS) -m $(basename $@).map -o $@ $^ + +plasma: $(CRT0) plasma.o $(CLIB) + @$(LD) -t $(SYS) -m $(basename $@).map -o $@ $^ + +sieve: $(CRT0) sieve.o $(CLIB) + @$(LD) -t $(SYS) -m $(basename $@).map -o $@ $^ + +tgidemo: $(CRT0) tgidemo.o $(CLIB) + @$(LD) -t $(SYS) -m $(basename $@).map -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 $@ > /dev/null + @for exe in $(EXELIST); do\ + $(C1541) -attach $@ -write $$exe > /dev/null;\ + done;\ + for tgi in ../libsrc/$(SYS)*.tgi; do\ + $(C1541) -attach $@ -write $$tgi > /dev/null;\ + done; -c64.d64: all - $(C1541) < c1541.rsp +# -------------------------------------------------------------------------- +# Cleanup rules .PHONY: clean clean: - rm -f *~ *.map *.o *.s *.lbl + $(RM) *~ *.map *.o *.s *.lbl .PHONY: zap zap: clean - rm -f nachtm hello + $(RM) $(EXELIST) samples.d64