X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=Makefile;h=de3ca5f51ab80c752f0b8f97982bc9c0bd92224c;hb=750dbde18501efb6f9520d378475e3b58aea9ea4;hp=ee7c979c4518c68812ec2820946576c34a5e1963;hpb=1e34dbf4b094e7f9c53c9ad343b133fb71032bdd;p=c128-kasse diff --git a/Makefile b/Makefile index ee7c979..de3ca5f 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,64 @@ +CC=cc65 +AS=ca65 +LD=cl65 +INCLUDES:=$(wildcard include/*.h) include/version.h include/charset_umlauts.h +GV:=$(shell git describe --tags --always) +CFLAGS= -I include -t c128 -g -kasse: kasse.o - cl65 -t c128 kasse.o +.PHONY: include/version.h include/charset_umlauts.h clean dist-clean format -kasse.o: kasse.s - ca65 -t c128 kasse.s +all: kasse itemz cat -kasse.s: kasse.c - cc65 -t c128 kasse.c +build/%.o: src/%.c ${INCLUDES} + ${CC} ${CFLAGS} -O $< -o build/$(addsuffix .s,$(shell basename $< .c)) + ${AS} ${CFLAGS} build/$(addsuffix .s,$(shell basename $< .c)) -o $@ -all: kasse +build/%.o: src/%.s + ${AS} ${CFLAGS} $< -o $@ + +include/version.h: + mkdir -p build + echo "#define GV \"${GV}\"" > $@ + +include/charset_umlauts.h: + ./util/mkfont assets/umlauts.pbm chars_umlauts > $@ + +kasse: build/config.o build/kasse.o build/general.o build/credit_manager.o build/c128time.o build/print.o build/vdc_patch_charset.o build/vdc_util.o build/globals.o + ${LD} -Ln $@.lbl -t c128 $^ -o $@ + +itemz: build/config.o build/itemz.o build/general.o build/credit_manager.o build/c128time.o build/print.o build/globals.o + ${LD} -Ln $@.lbl -t c128 $^ -o $@ + +cat: build/general.o build/cat.o + ${LD} -Ln $@.lbl -t c128 $^ -o $@ + +charmap: build/print_charmap.o build/vdc_util.o build/vdc_patch_charset.o + ${LD} -Ln $@.lbl -t c128 $^ -o $@ + +ascii: build/print_ascii.o + ${LD} -Ln $@.lbl -t c128 $^ -o $@ + +package: all + c1541 -format "${GV}",KA d64 kasse.d64 + c1541 -attach kasse.d64 -write kasse + c1541 -attach kasse.d64 -write itemz + [ -e state ] && c1541 -attach kasse.d64 -write state || exit 0 + [ -e items ] && c1541 -attach kasse.d64 -write items || exit 0 + +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 test || exit 0 + c1541 -attach test.d64 -write state || exit 0 + c1541 -attach test.d64 -write items || exit 0 clean: - rm -f *.s *.o + rm -rf build/*.o build/*.s test/*.o test/*.s + +dist-clean: clean + rm -f kasse kasse.lbl itemz itemz.lbl cat cat.lbl kasse.d64 + +format: + clang-format-3.9 -i **/*.[ch]