]> git.sur5r.net Git - cc65/blobdiff - libsrc/cbm510/Makefile
Moved IRQ hooking / unhooking from startup code to constructor / destructor to avoid...
[cc65] / libsrc / cbm510 / Makefile
index 0eadda41b620aa1be5ff20e721afce29d8213c22..69cea06b7de928794d8861aa1f3069e4779695f1 100644 (file)
@@ -11,6 +11,7 @@ SYS   = cbm510
 
 AS     = ../../src/ca65/ca65
 CC     = ../../src/cc65/cc65
+CO     = ../../src/co65/co65
 LD     = ../../src/ld65/ld65
 
 AFLAGS = -t $(SYS) --forget-inc-paths -I../../asminc
@@ -19,67 +20,85 @@ CFLAGS      = -Osir -g -T -t $(SYS) --forget-inc-paths -I . -I ../../include
 #--------------------------------------------------------------------------
 # Rules
 
-%.o:           %.c
+%.o:   %.c
        @$(CC) $(CFLAGS) $<
        @$(AS) -o $@ $(AFLAGS) $(*).s
 
 %.o:   %.s
        @$(AS) -g -o $@ $(AFLAGS) $<
 
+%-emd.o: %.emd
+       @$(CO) -o $(*)-emd.s --code-label _$(subst -,_,$(*)) $<
+       @$(AS) -o $@ $(AFLAGS) $(*)-emd.s
+
+%-joy.o: %.joy
+       @$(CO) -o $(*)-joy.s --code-label _$(subst -,_,$(*)) $<
+       @$(AS) -o $@ $(AFLAGS) $(*)-joy.s
+
+%-ser.o: %.ser
+       @$(CO) -o $(*)-ser.s --code-label _$(subst -,_,$(*)) $<
+       @$(AS) -o $@ $(AFLAGS) $(*)-ser.s
+
+%-tgi.o: %.tgi
+       @$(CO) -o $(*)-tgi.s --code-label _$(subst -,_,$(*)) $<
+       @$(AS) -o $@ $(AFLAGS) $(*)-tgi.s
+
 %.emd: %.o ../runtime/zeropage.o extzp.o
-       @$(LD) -t module -o $@ $^
+       @$(LD) -o $@ -t module $^
 
 %.joy: %.o ../runtime/zeropage.o extzp.o
-       @$(LD) -t module -o $@ $^
+       @$(LD) -o $@ -t module $^
 
 %.ser: %.o ../runtime/zeropage.o extzp.o
-       @$(LD) -t module -o $@ $^
+       @$(LD) -o $@ -t module $^
 
 %.tgi: %.o ../runtime/zeropage.o extzp.o
-       @$(LD) -t module -o $@ $^
+       @$(LD) -o $@ -t module $^
 
 #--------------------------------------------------------------------------
 # Object files
 
-%.o:           %.c
-       @$(CC) $(CFLAGS) $<
-       @$(AS) -o $@ $(AFLAGS) $(*).s
-
-%.o:   %.s
-       @$(AS) -g -o $@ $(AFLAGS) $<
-
-OBJS = _scrsize.o      \
-       banking.o       \
-               break.o         \
-               cgetc.o         \
-       clrscr.o        \
-               color.o         \
-       cputc.o         \
-               crt0.o          \
-        extzp.o         \
-               kbhit.o         \
-        kclose.o        \
-        kernal.o        \
-       kiobase.o       \
-       kopen.o         \
-        kreadst.o       \
-       kscnkey.o       \
-       kscreen.o       \
-        ksetnam.o       \
-       kudtim.o        \
-        mainargs.o      \
-       peeksys.o       \
-       pokesys.o       \
-        randomize.o     \
-       revers.o        \
-        systime.o       \
-        sysuname.o      \
-       tgi_mode_table.o
+OBJS =  _scrsize.o              \
+        banking.o               \
+        break.o                 \
+        cgetc.o                 \
+        clrscr.o                \
+        color.o                 \
+        cputc.o                 \
+        crt0.o                  \
+        devnum.o                \
+        extzp.o                 \
+        irq.o                   \
+        joy_stat_stddrv.o       \
+        joy_stddrv.o            \
+        kbhit.o                 \
+        kclose.o                \
+        kernal.o                \
+        kiobase.o               \
+        kopen.o                 \
+        krdtim.o                \
+        kreadst.o               \
+        kscnkey.o               \
+        kscreen.o               \
+        ksetnam.o               \
+        ksettim.o               \
+        kudtim.o                \
+        mainargs.o              \
+        peeksys.o               \
+        pokesys.o               \
+        randomize.o             \
+        revers.o                \
+        systime.o               \
+        sysuname.o              \
+        $(EMDS:.emd=-emd.o)     \
+        $(JOYS:.joy=-joy.o)     \
+        $(SERS:.ser=-ser.o)     \
+        $(TGIS:.tgi=-tgi.o)
 
 #--------------------------------------------------------------------------
 # Drivers
 
-EMDS = cbm510-ram.emd
+EMDS = cbm510-ram.emd
 
 JOYS = cbm510-stdjoy.joy
 
@@ -92,13 +111,17 @@ TGIS =
 
 .PHONY:        all clean zap
 
-all:   $(OBJS) $(EMDS) $(JOYS) $(SERS) $(TGIS)
+all:   $(OBJS) $(EMDS) $(JOYS) $(SERS) $(TGIS)
 
 ../runtime/zeropage.o:
        $(MAKE) -C $(dir $@) $(notdir $@)
 
 clean:
-       @$(RM) $(OBJS) $(EMDS:.emd=.o) $(JOYS:.joy=.o) $(SERS:.ser=.o) $(TGIS:.tgi=.o)
+       @$(RM) $(OBJS) \
+              $(EMDS:.emd=.o) $(EMDS:.emd=-emd.s) \
+              $(JOYS:.joy=.o) $(JOYS:.joy=-joy.s) \
+              $(SERS:.ser=.o) $(SERS:.ser=-ser.s) \
+              $(TGIS:.tgi=.o) $(TGIS:.tgi=-tgi.s)
 
 zap:   clean
        @$(RM) $(EMDS) $(JOYS) $(SERS) $(TGIS)