+# -*- makefile -*-
#
-# makefile for CC65 runtime library
+# makefile for CC65's console library
#
.SUFFIXES: .o .s .c
+#--------------------------------------------------------------------------
+# Programs and flags
+
+SYS = none
+
+AS = ../../src/ca65/ca65
+CC = ../../src/cc65/cc65
+LD = ../../src/ld65/ld65
+
+AFLAGS = -t $(SYS) -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 =
+#--------------------------------------------------------------------------
+# Rules to help us see what code the compiler and assembler make.
+
+#%.s : %.c
+# @$(CC) $(CFLAGS) -S $<
-S_OBJS = _cursor.o \
- _scrsize.o \
- cputhex.o \
- cputs.o \
- cursor.o \
- scrsize.o
+%.lst : %.s
+ @$(AS) $(AFLAGS) -l -o /dev/null $<
-all: $(C_OBJS) $(S_OBJS)
+#--------------------------------------------------------------------------
+# Object files
+
+OBJS = _cursor.o \
+ cprintf.o \
+ cputhex.o \
+ cputs.o \
+ cscanf.o \
+ cursor.o \
+ scrsize.o \
+ vcprintf.o \
+ vcscanf.o
+
+#--------------------------------------------------------------------------
+# Targets
+
+.PHONY: all clean zap
+
+all: $(OBJS)
clean:
- @rm -f *~ $(C_OBJS:.o=.s) $(C_OBJS) $(S_OBJS)
+ @$(RM) *~ *.lst $(OBJS)
+
+zap: clean
+