.SUFFIXES: .o .s .c
+#--------------------------------------------------------------------------
+# Rules
+
%.o: %.c
- @echo $<
@$(CC) $(CFLAGS) $<
@$(AS) -o $@ $(AFLAGS) $(*).s
%.o: %.s
- @echo $<
@$(AS) -g -o $@ $(AFLAGS) $<
-C_OBJS =
+%.emd: %.o ../runtime/zeropage.o
+ @$(LD) -t module -o $@ $^
+
+%.tgi: %.o ../runtime/zeropage.o
+ @$(LD) -t module -o $@ $^
+
+#--------------------------------------------------------------------------
+# Object files
+
+OBJS = _scrsize.o \
+ banking.o \
+ break.o \
+ cgetc.o \
+ clrscr.o \
+ color.o \
+ cputc.o \
+ crt0.o \
+ crtc.o \
+ kbhit.o \
+ kirq.o \
+ kplot.o \
+ kscnkey.o \
+ kudtim.o \
+ mainargs.o \
+ peeksys.o \
+ pokesys.o \
+ randomize.o \
+ revers.o \
+ rs232.o \
+ sysuname.o
+
+#--------------------------------------------------------------------------
+# Drivers
-S_OBJS = crt0.o kbhit.o conio.o clrscr.o cputc.o cgetc.o\
- color.o break.o banking.o crtc.o pokesys.o\
- kscnkey.o kplot.o kudtim.o kirq.o rs232.o
+TGIS =
-all: $(C_OBJS) $(S_OBJS)
+EMDS = cbm610-ram.emd
+
+#--------------------------------------------------------------------------
+# Targets
+
+.PHONY: all clean zap
+
+all: $(OBJS) $(EMDS) $(TGIS)
+
+../runtime/zeropage.o:
+ $(MAKE) -C $(dir $@) $(notdir $@)
clean:
- @rm -f $(C_OBJS:.c=.s) $(C_OBJS) $(S_OBJS) crt0.o
+ @rm -f $(OBJS) $(EMDS:.emd=.o) $(TGIS:.tgi=.o)
+
+zap: clean
+ @rm -f $(EMDS) $(TGIS)