.SUFFIXES: .o .s .c
+#--------------------------------------------------------------------------
+# Programs and flags
+
+SYS = none
+
+AS = ../../src/ca65/ca65
+CC = ../../src/cc65/cc65
+LD = ../../src/ld65/ld65
+
+AFLAGS = -t $(SYS) --forget-inc-paths -I../../asminc
+CFLAGS = -Osir -g -T -t $(SYS) --forget-inc-paths -I . -I ../../include
+
+#--------------------------------------------------------------------------
+# Rules
+
%.o: %.c
- @echo $<
@$(CC) $(CFLAGS) $<
@$(AS) -o $@ $(AFLAGS) $(*).s
%.o: %.s
- @echo $<
@$(AS) -g -o $@ $(AFLAGS) $<
-C_OBJS =
+#--------------------------------------------------------------------------
+# Object files
-S_OBJS = ctype.o getenv.o gotoxy.o gotox.o gotoy.o where.o\
- clock.o chline.o cvline.o cclear.o revers.o\
- c_readst.o c_close.o c_open.o c_ckout.o c_clrch.o c_bsout.o\
- c_basin.o c_clall.o c_iobase.o c_setnam.o c_setlfs.o c_acptr.o\
- c_ciout.o c_untlk.o c_unlsn.o c_listen.o c_talk.o c_load.o\
- oserror.o
+C_OBJS = cbm_dir.o \
+ cbm_load.o \
+ cbm_save.o
+
+S_OBJS = c_acptr.o \
+ c_basin.o \
+ c_bsout.o \
+ c_chkin.o \
+ c_ciout.o \
+ c_ckout.o \
+ c_clall.o \
+ c_close.o \
+ c_clrch.o \
+ c_iobase.o \
+ c_listen.o \
+ c_load.o \
+ c_open.o \
+ c_readst.o \
+ c_save.o \
+ c_setlfs.o \
+ c_setnam.o \
+ c_talk.o \
+ c_unlsn.o \
+ c_untlk.o \
+ cbm_close.o \
+ cbm_open.o \
+ cbm_read.o \
+ cbm_write.o \
+ cclear.o \
+ chline.o \
+ clock.o \
+ close.o \
+ ctype.o \
+ cvline.o \
+ diskcmd.o \
+ filedes.o \
+ filename.o \
+ filevars.o \
+ gotox.o \
+ gotoxy.o \
+ gotoy.o \
+ initcwd.o \
+ open.o \
+ oserrlist.o \
+ oserror.o \
+ read.o \
+ rwcommon.o \
+ scratch.o \
+ sysremove.o \
+ sysrename.o \
+ toascii.o \
+ wherex.o \
+ wherey.o \
+ write.o
+
+#--------------------------------------------------------------------------
+# Targets
+
+.PHONY: all clean zap
all: $(C_OBJS) $(S_OBJS)
clean:
- @rm -f *~
- @rm -f $(C_OBJS:.c=.s)
- @rm -f $(C_OBJS)
- @rm -f $(S_OBJS)
+ @$(RM) *~ *.bck $(C_OBJS:.o=.s) $(C_OBJS) $(S_OBJS)
+
+zap: clean