EXE = cbink RUNARGS = PREFIX ?= ${HOME}/.local BINDIR = ${PREFIX}/bin CFLAGS = -std=c11 -Wall -Wextra -Wpedantic -Os ${CFLAGS_${DEBUG}} LDFLAGS = -flto ${LDFLAGS_${DEBUG}} LDLIBS = -lncursesw DEBUG = 0 GDB != { [ "$DISPLAY" ] && which gf2 2> /dev/null; } || which gdb CFLAGS_1 = -g -fsanitize=undefined LDFLAGS_1 = -g -fsanitize=undefined LDFLAGS_0 = -s OBJ != find -type f -name '*.c' | sed 's/\.c$$/.o/' .PHONY: run all clean all: ${EXE} run: ${EXE} ./${EXE} ${RUNARGS} debug: ${EXE} ${GDB} -ex start --args ./${EXE} ${RUNARGS} clean: rm -fv ${EXE} ${OBJ} ${EXE}: ${OBJ} ${CC} ${LDFLAGS} ${OBJ} -o ${EXE} ${LDLIBS} install: ${EXE} mv ${EXE} ${BINDIR}/${EXE} uninstall: rm ${BINDIR}/${EXE}