summary refs log tree commit diff
path: root/Makefile
blob: 47dcbdcb6ed5e3305c537e1b482dd8d0bd1049c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
EXE = cbink
RUNARGS =

PREFIX ?= ${HOME}/.local
BINDIR = ${PREFIX}/bin

CFLAGS = -std=c17 -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}
	cp ${EXE} ${BINDIR}/${EXE}

uninstall:
	rm ${BINDIR}/${EXE}