]> git.sur5r.net Git - cc65/blobdiff - samples/Makefile
New style mouse routines
[cc65] / samples / Makefile
index 997c88bc26d55a578133f6caa9077d3240bbe7cd..f8fc0ffe7bf00c6098ec4a2423a45db92fcb3621 100644 (file)
@@ -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