.SUFFIXES: .o .s .c
+#--------------------------------------------------------------------------
+# Programs and flags
+
+SYS = apple2enh
+
+AS = ../../src/ca65/ca65
+CC = ../../src/cc65/cc65
+LD = ../../src/ld65/ld65
+
+AFLAGS = -t $(SYS) -I../apple2 -I../../asminc
+CFLAGS = -Osir -g -T -t $(SYS) --forget-inc-paths -I ../apple2 -I ../../include
+
#--------------------------------------------------------------------------
# Rules
-%.o: %.c
- @$(CC) $(CFLAGS) $<
+%.o: ../apple2/%.c
+ @$(CC) -o $(notdir $(*).s) $(CFLAGS) $<
@$(AS) -o $@ $(AFLAGS) $(*).s
-%.o: %.s
+%.o: ../apple2/%.s
+ @$(AS) -g -o $@ $(AFLAGS) $<
+
+extra/%.o: ../apple2/extra/%.s
@$(AS) -g -o $@ $(AFLAGS) $<
%.emd: %.o ../runtime/zeropage.o
%.joy: %.o ../runtime/zeropage.o
@$(LD) -t module -o $@ $^
+%.mou: %.o ../runtime/zeropage.o
+ @$(LD) -t module -o $@ $^
+
+%.ser: %.o ../runtime/zeropage.o
+ @$(LD) -t module -o $@ $^
+
%.tgi: %.o ../runtime/zeropage.o
@$(LD) -t module -o $@ $^
#--------------------------------------------------------------------------
# Object files
-OBJS= _scrsize.o \
- chline.o \
+C_OBJS= closedir.o \
+ opendir.o \
+ readdir.o \
+ rewinddir.o
+
+S_OBJS= _scrsize.o \
+ break.o \
+ cclear.o \
+ cgetc.o \
+ chline.o \
+ close.o \
+ clrscr.o \
+ color.o \
+ cout.o \
cputc.o \
+ crt0.o \
+ ctype.o \
cvline.o \
- textframe.o
+ dioclose.o \
+ diocommon.o \
+ dioopen.o \
+ dioread.o \
+ diosectcount.o \
+ diosectsize.o \
+ diowrite.o \
+ dosdetect.o \
+ filedes.o \
+ fileerr.o \
+ filename.o \
+ get_ostype.o \
+ gotoxy.o \
+ gotoy.o \
+ home.o \
+ initcwd.o \
+ iobuf.o \
+ joy_stddrv.o \
+ kbhit.o \
+ mainargs.o \
+ mcbdefault.o \
+ mli.o \
+ mouse_stddrv.o \
+ open.o \
+ oserrlist.o \
+ oserror.o \
+ randomize.o \
+ rdkey.o \
+ read.o \
+ reboot.o \
+ revers.o \
+ rwcommon.o \
+ syschdir.o \
+ sysmkdir.o \
+ sysremove.o \
+ sysrename.o \
+ sysrmdir.o \
+ systime.o \
+ sysuname.o \
+ textframe.o \
+ tgi_mode_table.o\
+ videomode.o \
+ vtabz.o \
+ wherex.o \
+ wherey.o \
+ write.o
+
+S_EXTRA_OBJS= \
+ extra/iobuf-0800.o
#--------------------------------------------------------------------------
# Drivers
-EMDS =
+EMDS = apple2-auxmem.emd
-JOYS =
+JOYS = apple2-stdjoy.joy
-SERS =
+MOUS = apple2-stdmou.mou
-TGIS =
+SERS = apple2-ssc.ser
+
+TGIS = apple2-280-192-8.tgi apple2-40-48-16.tgi
#--------------------------------------------------------------------------
# Targets
.PHONY: all clean zap
-all: $(OBJS) $(EMDS) $(JOYS) $(SERS) $(TGIS)
+all: $(C_OBJS) $(S_OBJS) $(S_EXTRA_OBJS) $(EMDS) $(JOYS) $(MOUS) $(SERS) $(TGIS)
../runtime/zeropage.o:
$(MAKE) -C $(dir $@) $(notdir $@)
clean:
- @$(RM) $(OBJS) $(EMDS:.emd=.o) $(JOYS:.joy=.o) $(SERS:.ser=.o) $(TGIS:.tgi=.o)
+ @$(RM) $(C_OBJS:.o=.s) $(C_OBJS) $(S_OBJS) $(S_EXTRA_OBJS) $(EMDS:.emd=.o) $(JOYS:.joy=.o) $(MOUS:.mou=.o) $(SERS:.ser=.o) $(TGIS:.tgi=.o)
zap: clean
- @$(RM) $(EMDS) $(JOYS) $(SERS) $(TGIS)
-
-
+ @$(RM) $(EMDS) $(JOYS) $(MOUS) $(SERS) $(TGIS)