c64 \
cbm510 \
cbm610 \
- geos-cbm \
+ geos-apple \
+ geos-cbm \
lynx \
nes \
pet \
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
--- /dev/null
+#
+# 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)