]> git.sur5r.net Git - cc65/blobdiff - libsrc/atari/Makefile
Marked files to be excluded from build.
[cc65] / libsrc / atari / Makefile
index 607b75cc600e11ee5f34c4e04132c762e28992d8..8c861928340a6fbec029aeee863333c832bbd0b7 100644 (file)
 #           the length of the buffer)
 # UCASE_FILENAME - all filenames get uppercased
 # DEFAULT_DEVICE - if the string passed to the uppercase function doesn't
-#                  include a device (":" at position 2 or 3), provide "D:"
-#                  as a default device
+#                  include a device (":" at position 2 or 3), provide "Dn:"
+#                  as a default disk device
+#                  n is the value of DEFAULT_DEVICE, unless DYNAMIC_DD is
+#                  also set, in which case it's overridden by a runtime
+#                  check (on SpartaDOS only)
 #                  needs UCASE_FILENAME to be defined, otherwise no effect
+# DYNAMIC_DD     - determine default disk device at runtime (SpartaDOS only)
+#                  needs DEFAULT_DEVICE to be defined, otherwise no effect
 
-ATARIDEFS = -DNUMDRVS=4 -DUCASE_FILENAME=1 -DDEFAULT_DEVICE=1 -DLINEBUF=80
+ATARIDEFS =  -DNUMDRVS=4 -DUCASE_FILENAME=1 -DDEFAULT_DEVICE=1 -DLINEBUF=80
+ATARIDEFS += -DDYNAMIC_DD=1
 
 .SUFFIXES: .o .s .c
 
+#--------------------------------------------------------------------------
+# Programs and flags
+
+SYS    = atari
+
+AS     = ../../src/ca65/ca65
+CC     = ../../src/cc65/cc65
+CO     = ../../src/co65/co65
+LD     = ../../src/ld65/ld65
+
+AFLAGS = -t $(SYS) --forget-inc-paths -I../../asminc
+CFLAGS = -Osir -g -T -t $(SYS) --forget-inc-paths -I . -I ../../include
+
 #--------------------------------------------------------------------------
 # Rules
 
-%.o:           %.c
+%.o:   %.c
        @$(CC) $(CFLAGS) $(ATARIDEFS) $<
        @$(AS) -o $@ $(AFLAGS) $(*).s
 
 %.o:   %.s
        @$(AS) -g -o $@ $(AFLAGS) $(ATARIDEFS) $<
 
+%-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
+
+%-tgi.o: %.tgi
+       @$(CO) -o $(*)-tgi.s --code-label _$(subst -,_,$(*)) $<
+       @$(AS) -o $@ $(AFLAGS) $(*)-tgi.s
+
 %.emd: %.o ../runtime/zeropage.o
-       @$(LD) -t module -o $@ $^
+       @$(LD) -o $@ -t module $^
 
 %.joy: %.o ../runtime/zeropage.o
-       @$(LD) -t module -o $@ $^
+       @$(LD) -o $@ -t module $^
+
+%.tgi: %.o ../runtime/zeropage.o atari_tgi_common.inc
+       @$(LD) -o $@ -t module $< ../runtime/zeropage.o
 
-%.tgi: %.o ../runtime/zeropage.o
-       @$(LD) -t module -o $@ $^
 
 #--------------------------------------------------------------------------
 # Object files
 
-OBJS =         _scrsize.o      \
-       break.o         \
-       cclear.o        \
-       cgetc.o         \
-       chline.o        \
-       clock.o         \
-       close.o         \
-       clrscr.o        \
-       color.o         \
-       cputc.o         \
-       crt0.o          \
-       ctype.o         \
-       cvline.o        \
-       dio_cts.o       \
-       dio_stc.o       \
-       diopncls.o      \
-       dioread.o       \
-       diowrite.o      \
-       diowritev.o     \
-       dosdetect.o     \
-       fdtable.o       \
-       getargs.o       \
-       getdefdev.o     \
-       getfd.o         \
-       gotox.o         \
-       gotoy.o         \
-       gotoxy.o        \
-       graphics.o      \
-       graphuse.o      \
-       joy_stddrv.o    \
-       kbhit.o         \
-       lseek.o         \
-       mouse.o         \
-       mul40.o         \
-       open.o          \
-       oserrlist.o     \
-       oserror.o       \
-       ostype.o        \
-       randomize.o     \
-       read.o          \
-       revers.o        \
-       rs232.o         \
-       rwcommon.o      \
-       savevec.o       \
-       scroll.o        \
-       setcolor.o      \
-       siocall.o       \
-       sysremove.o     \
-       systime.o       \
-       tvtype.o        \
-        sysuname.o      \
-       ucase_fn.o      \
-       wherex.o        \
-       wherey.o        \
-       write.o
+OBJS =         _scrsize.o              \
+       break.o                 \
+       cclear.o                \
+       cgetc.o                 \
+       chline.o                \
+       clock.o                 \
+       close.o                 \
+       clrscr.o                \
+       color.o                 \
+       cputc.o                 \
+       crt0.o                  \
+       ctype.o                 \
+       cvline.o                \
+       dio_cts.o               \
+       dio_stc.o               \
+       diopncls.o              \
+       dioqsize.o              \
+       dioread.o               \
+       diowrite.o              \
+       diowritev.o             \
+       do_oserr.o              \
+       dosdetect.o             \
+       fdtable.o               \
+       fdtab.o                 \
+       fdtoiocb.o              \
+       getargs.o               \
+       getdefdev.o             \
+       getfd.o                 \
+       gotox.o                 \
+       gotoy.o                 \
+       gotoxy.o                \
+       graphics.o              \
+       initcwd.o               \
+       inviocb.o               \
+       irq.o                   \
+       joy_stat_stddrv.o       \
+       joy_stddrv.o            \
+       kbhit.o                 \
+       lseek.o                 \
+       mul40.o                 \
+       open.o                  \
+       oserrlist.o             \
+       oserror.o               \
+       ostype.o                \
+       posixdirent.o           \
+       randomize.o             \
+       read.o                  \
+       revers.o                \
+       rwcommon.o              \
+       savevec.o               \
+       scroll.o                \
+       setcolor.o              \
+       siocall.o               \
+       syschdir.o              \
+       sysmkdir.o              \
+       sysremove.o             \
+       sysrmdir.o              \
+       systime.o               \
+       sysuname.o              \
+       tgi_colors.o            \
+       tgi_stat_stddrv.o       \
+       tgi_stddrv.o            \
+       toascii.o               \
+       tvtype.o                \
+       ucase_fn.o              \
+       wherex.o                \
+       wherey.o                \
+       write.o                 \
+       $(EMDS:.emd=-emd.o)     \
+       $(JOYS:.joy=-joy.o)     \
+       $(TGIS:.tgi=-tgi.o)
 
 
 #--------------------------------------------------------------------------
 # Drivers
 
-EMDS =
+EMDS = atari-130xe.emd
 
-JOYS = atari-stdjoy.joy
+JOYS = atari-stdjoy.joy atari-multijoy.joy
 
-TGIS =
+TGIS = atari-3.tgi atari-4.tgi atari-5.tgi atari-6.tgi atari-7.tgi atari-8.tgi \
+       atari-9.tgi atari-10.tgi atari-11.tgi atari-14.tgi atari-15.tgi atari-8p2.tgi \
+       atari-9p2.tgi atari-10p2.tgi atari-15p2.tgi
 
 #--------------------------------------------------------------------------
 # Targets
 
-all:   $(OBJS) $(EMDS) $(JOYS) $(TGIS)
+all:   $(OBJS) $(EMDS) $(JOYS) $(TGIS)
 
 ../runtime/zeropage.o:
        $(MAKE) -C $(dir $@) $(notdir $@)
 
 clean:
-       @$(RM) $(OBJS) $(EMDS:.emd=.o) $(JOYS:.joy=.o) $(TGIS:.tgi=.o)
+       @$(RM) $(OBJS) \
+              $(EMDS:.emd=.o) $(EMDS:.emd=-emd.s) \
+              $(JOYS:.joy=.o) $(JOYS:.joy=-joy.s) \
+              $(TGIS:.tgi=.o) $(TGIS:.tgi=-tgi.s)
 
 zap:   clean
        @$(RM) $(EMDS) $(JOYS) $(TGIS)
-