]> git.sur5r.net Git - cc65/blobdiff - libsrc/atari/Makefile
no TGI_ERR_NO_MEM or TGI_ERR_NO_IOCB anymore: replaced by TGI_ERR_NO_RES
[cc65] / libsrc / atari / Makefile
index dc95243210b063b7c867d1d01d9866e5ee81f886..95ca16229fced6ac7ab5bd263cb10b14f7a19eac 100644 (file)
@@ -2,12 +2,37 @@
 # makefile for CC65 Atari runtime library
 #
 # NUMDRVS - number of supported drives (max. 16)
+#           4 bytes for each device are statically allocated
+# LINEBUF - support line buffered reads from E: (the number specifies
+#           the length of the buffer)
 # UCASE_FILENAME - all filenames get uppercased
-
-ATARIDEFS = -DNUMDRVS=4 -DUCASE_FILENAME=1
+# DEFAULT_DEVICE - if the string passed to the uppercase function doesn't
+#                  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 += -DDYNAMIC_DD=1
 
 .SUFFIXES: .o .s .c
 
+#--------------------------------------------------------------------------
+# Programs and flags
+
+SYS    = atari
+
+AS     = ../../src/ca65/ca65
+CC     = ../../src/cc65/cc65
+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
 
@@ -24,64 +49,70 @@ ATARIDEFS = -DNUMDRVS=4 -DUCASE_FILENAME=1
 %.joy: %.o ../runtime/zeropage.o
        @$(LD) -t module -o $@ $^
 
-%.tgi: %.o ../runtime/zeropage.o
-       @$(LD) -t module -o $@ $^
+%.tgi: %.o ../runtime/zeropage.o atari_tgi_common.inc
+       @$(LD) -t module -o $@ $< ../runtime/zeropage.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  \
-       fdtable.o    \
-       getargs.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       \
-       readjoy.o    \
-       remove.o     \
-       revers.o     \
-       rs232.o      \
-       rwcommon.o   \
-       savevec.o    \
-       scroll.o     \
-       setcolor.o   \
-       siocall.o    \
-        systime.o    \
-       tvtype.o     \
-       ucase_fn.o   \
-       wherex.o     \
-       wherey.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     \
+       dosdetect.o     \
+       fdtable.o       \
+       getargs.o       \
+       getdefdev.o     \
+       getfd.o         \
+       gotox.o         \
+       gotoy.o         \
+       gotoxy.o        \
+       graphics.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       \
+       sysmkdir.o      \
+       sysremove.o     \
+       sysrmdir.o      \
+       systime.o       \
+       sysuname.o      \
+       tgi_mode_table.o\
+       tvtype.o        \
+       ucase_fn.o      \
+       wherex.o        \
+       wherey.o        \
        write.o
 
 
@@ -90,9 +121,11 @@ OBJS =      _scrsize.o   \
 
 EMDS =
 
-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
@@ -103,8 +136,8 @@ all:        $(OBJS) $(EMDS) $(JOYS) $(TGIS)
        $(MAKE) -C $(dir $@) $(notdir $@)
 
 clean:
-       @rm -f $(OBJS) $(EMDS:.emd=.o) $(JOYS:.joy=.o) $(TGIS:.tgi=.o)
+       @$(RM) $(OBJS) $(EMDS:.emd=.o) $(JOYS:.joy=.o) $(TGIS:.tgi=.o)
 
 zap:   clean
-       @rm -f $(EMDS) $(JOYS) $(TGIS)
+       @$(RM) $(EMDS) $(JOYS) $(TGIS)