X-Git-Url: https://git.sur5r.net/?p=c128-kasse;a=blobdiff_plain;f=Makefile;h=eea1a79d4bd8068c4996f1f94263fec0d6e72faf;hp=3bc90446f6b7cd301741a3349c03887f164215db;hb=HEAD;hpb=b3993f4d0b664f190982b71290500f5577b113af diff --git a/Makefile b/Makefile index 3bc9044..eea1a79 100644 --- a/Makefile +++ b/Makefile @@ -1,43 +1,76 @@ -# 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 -O -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 - ${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 - cp /tmp/cc65/lib/c128* . - 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) include/version.h include/charset_umlauts.h +GV:=$(shell git describe --tags --always) +CFLAGS= -I include -t c128 -g + +.PHONY: clean dist-clean format + +all: kasse itemz cat + +build/%.o: src/%.c ${INCLUDES} + ${CC} ${CFLAGS} -O $< -o build/$(addsuffix .s,$(shell basename $< .c)) + ${AS} ${CFLAGS} build/$(addsuffix .s,$(shell basename $< .c)) -o $@ + +build/%.o: src/%.s + ${AS} ${CFLAGS} $< -o $@ + +build/%.o: test/%.c ${INCLUDES} + ${CC} ${CFLAGS} -O $< -o build/$(addsuffix .s,$(shell basename $< .c)) + ${AS} ${CFLAGS} build/$(addsuffix .s,$(shell basename $< .c)) -o $@ + +build/%.o: test/%.s + ${AS} ${CFLAGS} $< -o $@ + +.git/index: + +include/version.h: .git/index + mkdir -p build + echo "#define GV \"${GV}\"" > $@ + +include/charset_umlauts.h: assets/umlauts.pbm + ./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 build/bcd2dec.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 build/bcd2dec.o build/vdc_util.o + ${LD} -Ln $@.lbl -t c128 $^ -o $@ + +cat: build/general.o build/cat.o build/config.o build/print.o build/globals.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 -attach kasse.d64 -delete state || exit 0 - c1541 -attach kasse.d64 -delete items || exit 0 - c1541 -attach kasse.d64 -delete kasse || exit 0 - c1541 -attach kasse.d64 -write kasse || exit 0 - c1541 -attach kasse.d64 -write state || exit 0 - c1541 -attach kasse.d64 -write items || exit 0 + c1541 -format "${GV}",KA d71 kasse.d71 + c1541 -attach kasse.d71 -write kasse + c1541 -attach kasse.d71 -write itemz + [ -e state ] && c1541 -attach kasse.d71 -write state || exit 0 + [ -e items ] && c1541 -attach kasse.d71 -write items || exit 0 -test: config.o test.o general.o - ${CL} -t c128 config.o test.o general.o -o test +test: build/config.o build/test.o build/general.o build/print.o build/globals.o + ${LD} -Ln $@.lbl -t c128 $^ -o test/$@ test-package: test - c1541 -attach test.d64 -delete state || exit 0 - c1541 -attach test.d64 -delete items || exit 0 - c1541 -attach test.d64 -delete test || exit 0 - c1541 -attach test.d64 -write test || exit 0 - c1541 -attach test.d64 -write state || exit 0 - c1541 -attach test.d64 -write items || exit 0 + c1541 -format "test",TE d71 test.d71 + c1541 -attach test.d71 -write test/test || exit 0 + c1541 -attach test.d71 -write state || exit 0 + c1541 -attach test.d71 -write items || exit 0 clean: - rm -rf *.o *.s - + rm -rf build/*.o build/*.s test/test + dist-clean: clean - rm kasse test - + rm -f kasse kasse.lbl itemz itemz.lbl cat cat.lbl kasse.d71 + +format: + clang-format-3.9 -i **/*.[ch] + +vice: + x128 -config vicerc -autostart kasse.d71 +go64 -80col