-# Note: this are my paths to cc65 as there is no gentoo ebuild, sorry for that.
-# Please use the path below if you've installed cc65 system-wide
-CC=~/customSoftware/cc65-2.11.0/src/cc65/cc65 -I ~/customSoftware/cc65-2.11.0/include
-CA=~/customSoftware/cc65-2.11.0/src/ca65/ca65
-CL=~/customSoftware/cc65-2.11.0/src/cl65/cl65
-# CC=cc65
-# CA=ca65
-# CL=cl65
-
-%.o: %.c
- cp /tmp/cc65/lib/c128* .
- ${CC} -t c128 $<
- ${CA} -t c128 $$(basename $< .c).s
-
-all: config.o kasse.o general.o credit_manager.o time.o
- # See above, please just kill the PATH-definition
- PATH=${PATH}:~/customSoftware/cc65-2.11.0/src/ld65:/tmp/cc65/lib ${CL} -t c128 *.o -o kasse
+CC=cc65
+AS=ca65
+LD=cl65
+INCLUDES:=$(wildcard include/*.h)
+GV:=$(shell git describe --tags --always)
+
+CFLAGS += -DGV=\"${GV}\"
+
+%.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 src/print.o
+ ${LD} -t c128 $^ -o $@
+
+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
+ ${LD} -t c128 $^ -o $@