From bf6b0f1e4b9d892e5f1172074f72b38421ab5882 Mon Sep 17 00:00:00 2001
From: "ol.sc"
Date: Thu, 9 Feb 2012 10:03:54 +0000
Subject: [PATCH] Initial Apple GEOS build.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5512 b7a2c559-68d2-44c3-8de9-860c34a00d81
---
libsrc/Makefile | 29 +++++++++-
libsrc/geos-apple/Makefile | 83 +++++++++++++++++++++++++++++
libsrc/geos-apple/disk/Makefile | 10 ++++
libsrc/geos-apple/disk/enterturbo.s | 11 ++++
libsrc/geos-apple/disk/exitturbo.s | 13 +++++
libsrc/geos-apple/disk/purgeturbo.s | 11 ++++
6 files changed, 156 insertions(+), 1 deletion(-)
create mode 100644 libsrc/geos-apple/Makefile
create mode 100644 libsrc/geos-apple/disk/Makefile
create mode 100644 libsrc/geos-apple/disk/enterturbo.s
create mode 100644 libsrc/geos-apple/disk/exitturbo.s
create mode 100644 libsrc/geos-apple/disk/purgeturbo.s
diff --git a/libsrc/Makefile b/libsrc/Makefile
index 7047d9048..90c1cd3bd 100644
--- a/libsrc/Makefile
+++ b/libsrc/Makefile
@@ -37,7 +37,8 @@ ALLTARGETS = apple2 \
c64 \
cbm510 \
cbm610 \
- geos-cbm \
+ geos-apple \
+ geos-cbm \
lynx \
nes \
pet \
@@ -246,6 +247,32 @@ cbm610lib:
done \
fi
+#-----------------------------------------------------------------------------
+# GEOS on the Apple
+
+.PHONY: geos-applelib
+geos-applelib:
+ for i in geos-apple geos-common; do \
+ $(MAKE) SYS=geos-apple -C $$i || exit 1; \
+ $(AR) a geos-apple.lib $$i/*.o || exit 1; \
+ done
+ for i in runtime common conio em joystick tgi zlib; do \
+ $(MAKE) SYS=geos-apple -C $$i || exit 1; \
+ for objfile in $$i/*.o; do \
+ BASENAME=`basename $$objfile`; \
+ if [ -f geos-common/$$BASENAME ]; then \
+ $(AR) a geos-apple.lib geos-common/$$BASENAME; \
+ else \
+ $(AR) a geos-apple.lib $$objfile; \
+ fi; \
+ done \
+ done
+ if [ -d geos-apple/extra ]; then \
+ for i in geos-apple/extra/*.o; do \
+ cp $$i geos-apple-`basename $$i` || exit 1; \
+ done \
+ fi
+
#-----------------------------------------------------------------------------
# GEOS on the C64/128
diff --git a/libsrc/geos-apple/Makefile b/libsrc/geos-apple/Makefile
new file mode 100644
index 000000000..0780f69a8
--- /dev/null
+++ b/libsrc/geos-apple/Makefile
@@ -0,0 +1,83 @@
+#
+# makefile for CC65 runtime library
+#
+
+.SUFFIXES: .o .s .c
+
+#--------------------------------------------------------------------------
+# Programs and flags
+
+SYS = geos-apple2
+
+AS = ../../src/ca65/ca65
+CC = ../../src/cc65/cc65
+LD = ../../src/ld65/ld65
+
+AFLAGS = -t $(SYS) --forget-inc-paths -I. -I../geos-common -I../../asminc
+CFLAGS = -Osir -g -T -t $(SYS) --forget-inc-paths -I . -I ../../include
+
+#--------------------------------------------------------------------------
+# Rules
+
+%.o: %.c
+ @$(CC) -o $(notdir $(*).s) $(CFLAGS) $<
+ @$(AS) -o $@ $(AFLAGS) $(*).s
+
+%.o: %.s
+ @$(AS) -g -o $@ $(AFLAGS) $<
+
+%.emd: %.o ../runtime/zeropage.o
+ @$(LD) -o $@ -t module $^
+
+%.joy: %.o ../runtime/zeropage.o
+ @$(LD) -o $@ -t module $^
+
+%.mou: %.o ../runtime/zeropage.o
+ @$(LD) -o $@ -t module $^
+
+%.ser: %.o ../runtime/zeropage.o
+ @$(LD) -o $@ -t module $^
+
+%.tgi: %.o ../runtime/zeropage.o
+ @$(LD) -o $@ -t module $^
+
+#--------------------------------------------------------------------------
+# Directories
+
+DIRS = disk
+
+#--------------------------------------------------------------------------
+# Drivers
+
+EMDS =
+
+JOYS =
+
+MOUS =
+
+SERS =
+
+TGIS =
+
+#--------------------------------------------------------------------------
+# Directives
+
+include $(addsuffix /Makefile, $(DIRS))
+vpath %.c $(DIRS)
+vpath %.s $(DIRS)
+
+#--------------------------------------------------------------------------
+# Targets
+
+.PHONY: all clean zap
+
+all: $(C_OBJS) $(S_OBJS) $(EMDS) $(JOYS) $(MOUS) $(SERS) $(TGIS)
+
+../runtime/zeropage.o:
+ $(MAKE) -C $(dir $@) $(notdir $@)
+
+clean:
+ @$(RM) $(C_OBJS:.o=.s) $(C_OBJS) $(S_OBJS) $(EMDS:.emd=.o) $(JOYS:.joy=.o) $(MOUS:.mou=.o) $(SERS:.ser=.o) $(TGIS:.tgi=.o)
+
+zap: clean
+ @$(RM) $(EMDS) $(JOYS) $(MOUS) $(SERS) $(TGIS)
diff --git a/libsrc/geos-apple/disk/Makefile b/libsrc/geos-apple/disk/Makefile
new file mode 100644
index 000000000..a4bd0546d
--- /dev/null
+++ b/libsrc/geos-apple/disk/Makefile
@@ -0,0 +1,10 @@
+#
+# makefile for CC65 runtime library
+#
+
+#--------------------------------------------------------------------------
+# Object files
+
+S_OBJS += enterturbo.o \
+ exitturbo.o \
+ purgeturbo.o
diff --git a/libsrc/geos-apple/disk/enterturbo.s b/libsrc/geos-apple/disk/enterturbo.s
new file mode 100644
index 000000000..1a688ba12
--- /dev/null
+++ b/libsrc/geos-apple/disk/enterturbo.s
@@ -0,0 +1,11 @@
+;
+; Oliver Schmidt (ol.sc@web.de)
+;
+; 2012-02-09
+
+; void EnterTurbo (void);
+
+ .export _EnterTurbo
+ .import return0
+
+_EnterTurbo = return0
diff --git a/libsrc/geos-apple/disk/exitturbo.s b/libsrc/geos-apple/disk/exitturbo.s
new file mode 100644
index 000000000..678a3d12f
--- /dev/null
+++ b/libsrc/geos-apple/disk/exitturbo.s
@@ -0,0 +1,13 @@
+;
+; Oliver Schmidt (ol.sc@web.de)
+;
+; 2012-02-09
+
+; void ExitTurbo (void);
+
+ .export _ExitTurbo
+ .import return0
+
+_ExitTurbo = return0
+
+
diff --git a/libsrc/geos-apple/disk/purgeturbo.s b/libsrc/geos-apple/disk/purgeturbo.s
new file mode 100644
index 000000000..059526630
--- /dev/null
+++ b/libsrc/geos-apple/disk/purgeturbo.s
@@ -0,0 +1,11 @@
+;
+; Oliver Schmidt (ol.sc@web.de)
+;
+; 2012-02-09
+
+; void PurgeTurbo (void);
+
+ .export _PurgeTurbo
+ .import return0
+
+_PurgeTurbo = return0
--
2.39.5