transfer/makefile
2021-04-14 10:59:45 -04:00

49 lines
1.3 KiB
Makefile

# ----------------------------
# Makefile Options
# ----------------------------
CC = clang
CONVERT = convert
PRINTF = printf
NAME = TRANSFER
ICON = icon/transfer.png
DESCRIPTION = "Variable Transfer Program"
COMPRESSED = YES
ARCHIVED = YES
CFLAGS = -Wall -Wextra -Oz
CXXFLAGS = -Wall -Wextra -Oz
ICON_COLORS = 16
ICON_SIZES = 32 64
GEN_CSOURCES = src/ti83pce_icon.c src/ti84pce_icon.c src/font.c
EXTRA_CSOURCES = $(filter-out $(wildcard $(GEN_CSOURCES)),$(GEN_CSOURCES))
EXTRA_USERHEADERS = src/ti83pce_icon.h src/ti84pce_icon.h src/ti84pceg.inc src/font.h
EXTRA_CLEAN = $(GEN_CSOURCES) $(patsubst %.c,%.h,$(GEN_CSOURCES)) icon/ti83pce.ico icon/ti84pce.ico font/genfont
# ----------------------------
ifndef CEDEV
$(error CEDEV environment path variable is not set)
endif
include $(CEDEV)/meta/makefile.mk
icon/%.ico: $(patsubst %,icon/\%-%.ico,$(ICON_SIZES))
@$(CONVERT) $^ -colors $(ICON_COLORS) $@
src/%_icon.h: icon/%.ico
@$(PRINTF) "#ifndef $*_icon_h\n#define $*_icon_h\n\n#define $*_icon_uncompressed_size `wc -c < $<`\nextern const unsigned char $*_icon[];\n\n#endif\n" > $@
src/%_icon.c: icon/%.ico
@$(CONVBIN) --iformat bin --input $< --compress zx7 --name $*_icon --oformat c --output $@
src/font.h src/font.c: font/genfont
@$<
font/genfont: font/genfont.c
@$(CC) -O3 -flto $< `pkg-config --cflags --libs freetype2` -o $@
.SECONDARY: $(EXTRA_CLEAN)