all: kasse itemz
-%.o: %.c ${INCLUDES}
- ${CC} ${CFLAGS} -O $<
- ${AS} ${CFLAGS} $(addsuffix .s,$(basename $< ))
+build/%.o: src/%.c ${INCLUDES}
+ ${CC} ${CFLAGS} -O $< -o build/$(addsuffix .s,$(shell basename $< .c))
+ ${AS} ${CFLAGS} build/$(addsuffix .s,$(shell basename $< .c)) -o $@
include/version.h:
+ mkdir -p build
echo "#define GV \"${GV}\"" > $@
-kasse: src/config.o src/kasse.o src/general.o src/credit_manager.o src/c128time.o src/print.o
+kasse: build/config.o build/kasse.o build/general.o build/credit_manager.o build/c128time.o build/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
+itemz: build/config.o build/itemz.o build/general.o build/credit_manager.o build/c128time.o build/print.o
${LD} -t c128 $^ -o $@
-cat: src/general.o src/cat.o
+cat: build/general.o build/cat.o
${LD} -t c128 $^ -o $@
package: all
[ -e state ] && c1541 -attach kasse.d64 -write state || exit 0
[ -e items ] && c1541 -attach kasse.d64 -write items || exit 0
-test: src/config.o test/test.o src/general.o
- cl65 -t c128 src/config.o test/test.o src/general.o -o test
+test: build/config.o test/test.o build/general.o
+ cl65 -t c128 $^ -o build/test
test-package: test
c1541 -format "test",TE d64 test.d64
c1541 -attach test.d64 -write items || exit 0
clean:
- rm -rf src/*.o src/*.s test/*.o test/*.s
+ rm -rf build/*.o build/*.s test/*.o test/*.s
dist-clean: clean
rm -f kasse itemz kasse.d64