CC=cc65
-CA=ca65
-CL=cl65
+AS=ca65
+LD=cl65
+INCLUDES:=$(wildcard include/*.h)
+GV:=$(shell git describe --tags --always)
-src/%.o: src/%.c include/%.h
- ${CC} -O -I include -t c128 $<
- ${CA} -I include -t c128 src/$$(basename $< .c).s
+CFLAGS += -DGV=\"${GV}\"
-test/%.o: test/%.c
- ${CC} -O -I include -t c128 $<
- ${CA} -I include -t c128 test/$$(basename $< .c).s
+%.o: %.c ${INCLUDES}
+ ${CC} ${CFLAGS} -O -I include -t c128 $< -o /dev/stdout | ${AS} -I include -t c128 /dev/stdin -o $@
+all: kasse itemz
-kasse: src/config.o src/kasse.o src/general.o src/credit_manager.o src/c128time.o
- ${CL} -t c128 src/c128time.o src/config.o src/kasse.o src/general.o src/credit_manager.o -o kasse
+kasse: src/config.o src/kasse.o src/general.o src/credit_manager.o src/c128time.o src/print.o
+ ${LD} -t c128 $^ -o $@
-itemz: src/config.o src/itemz.o src/general.o src/credit_manager.o
- ${CL} -t c128 src/config.o src/itemz.o src/general.o src/credit_manager.o -o itemz
+itemz: src/config.o src/itemz.o src/general.o src/credit_manager.o src/c128time.o src/print.o
+ ${LD} -t c128 $^ -o $@
cat: src/general.o src/cat.o
- ${CL} -t c128 src/general.o src/cat.o -o cat
-
-all: kasse itemz
+ ${LD} -t c128 $^ -o $@
package: all
cp images/kasse.d64 .
# c1541 -attach kasse.d64 -write items || exit 0
test: src/config.o test/test.o src/general.o
- ${CL} -t c128 src/config.o test/test.o src/general.o -o test
+ cl65 -t c128 src/config.o test/test.o src/general.o -o test
test-package: test
c1541 -attach test.d64 -delete state || exit 0