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