]> git.sur5r.net Git - cc65/blobdiff - libsrc/c64/Makefile
Moved additional zeropage variables into an extra module.
[cc65] / libsrc / c64 / Makefile
index e451f7eba241f28f6399dc38f3ab585ddc85e5cf..4771f79d7b1bde672dfe94fc87f5ea015e779f74 100644 (file)
@@ -4,6 +4,22 @@
 
 .SUFFIXES: .o .s .c
 
+
+#--------------------------------------------------------------------------
+# Programs and flags
+
+SYS    = c64
+
+AS     = ../../src/ca65/ca65
+CC     = ../../src/cc65/cc65
+LD     = ../../src/ld65/ld65
+
+AFLAGS = -t $(SYS) -I../../asminc
+CFLAGS = -Osir -g -T -t $(SYS) --forget-inc-paths -I . -I ../../include
+
+#--------------------------------------------------------------------------
+# Rules
+
 %.o:           %.c
        @$(CC) $(CFLAGS) $<
        @$(AS) -o $@ $(AFLAGS) $(*).s
 %.o:   %.s
        @$(AS) -g -o $@ $(AFLAGS) $<
 
-OBJS = _scrsize.o      \
-       break.o         \
-       crt0.o          \
-       cgetc.o         \
-       clrscr.o        \
-       color.o         \
-       conio.o         \
-       cputc.o         \
-       kbhit.o         \
-       mouse.o         \
-       readjoy.o       \
-       rs232.o         \
-        tgi_mode_table.o\
-       write.o
-
-all:   $(OBJS)
+%.emd: %.o ../runtime/zeropage.o
+       @$(LD) -t module -o $@ $^
+
+%.joy: %.o ../runtime/zeropage.o
+       @$(LD) -t module -o $@ $^
+
+%.mou: %.o ../runtime/zeropage.o
+       @$(LD) -t module -o $@ $^
+
+%.ser: %.o ../runtime/zeropage.o
+       @$(LD) -t module -o $@ $^
+
+%.tgi: %.o ../runtime/zeropage.o
+       @$(LD) -t module -o $@ $^
+
+#--------------------------------------------------------------------------
+# Object files
+
+OBJS =         _scrsize.o              \
+               break.o                 \
+               crt0.o                  \
+               cgetc.o                 \
+               clrscr.o                \
+               color.o                 \
+               conio.o                 \
+               cputc.o                 \
+        get_ostype.o            \
+        get_tv.o                \
+       joy_stddrv.o            \
+               kbhit.o                 \
+        kernal.o                \
+        mainargs.o              \
+        mcbdefault.o            \
+        randomize.o             \
+        revers.o                \
+        sysuname.o              \
+        tgi_mode_table.o
+
+#--------------------------------------------------------------------------
+# Drivers
+
+EMDS = c64-georam.emd c64-ram.emd c64-ramcart.emd c64-reu.emd c64-vdc.emd
+
+JOYS = c64-hitjoy.joy c64-numpad.joy c64-ptvjoy.joy c64-stdjoy.joy
+
+MOUS = c64-1351.mou c64-joymouse.mou
+
+SERS = c64-swlink.ser
+
+TGIS = c64-320-200-2.tgi
+
+#--------------------------------------------------------------------------
+# Targets
+
+.PHONY:        all clean zap
+
+all:   $(OBJS) $(EMDS) $(JOYS) $(MOUS) $(SERS) $(TGIS)
+
+../runtime/zeropage.o:
+       $(MAKE) -C $(dir $@) $(notdir $@)
 
 clean:
-       @rm -f $(OBJS)
+       @$(RM) $(OBJS) $(EMDS:.emd=.o) $(JOYS:.joy=.o) $(MOUS:.mou=.o) $(SERS:.ser=.o) $(TGIS:.tgi=.o)
+
+zap:   clean
+       @$(RM) $(EMDS) $(JOYS) $(MOUS) $(SERS) $(TGIS)