]> git.sur5r.net Git - c128-kasse/commitdiff
Makefile: place *.{o,s} in build/
authorMichael Stapelberg <michael@stapelberg.de>
Mon, 2 Oct 2017 20:01:58 +0000 (22:01 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Wed, 4 Oct 2017 16:22:15 +0000 (18:22 +0200)
Makefile

index 812283a9f1d931e0ad5daabe41c2a8faf68df2a4..0b56ad0ecfc3c7bbc74e67ceadf0d60ca97ff861 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -9,20 +9,21 @@ CFLAGS= -I include -t c128
 
 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
@@ -32,8 +33,8 @@ 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
@@ -42,7 +43,7 @@ test-package: test
        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