diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..36549b0 --- /dev/null +++ b/Makefile @@ -0,0 +1,41 @@ +EXE = a.out +RUNARGS = + +CFLAGS = -std=c23 -Wall -Wextra -Wpedantic ${CFLAGS_${DEBUG}} +LDFLAGS = ${LDFLAGS_${DEBUG}} +LDLIBS = + +OBJ != find -type f -name '*.c' | sed 's/\.c$$/.o/' + +DEBUG = 0 + +CFLAGS_0 = -O2 -DNDEBUG +CFLAGS_1 = -O0 -g3 # -fsanitize=address,undefined +CFLAGS_2 = -O2 -g3 -DNDEBUG +LDFLAGS_0 = -s +LDFLAGS_1 = -g3 # -fsanitize=address,undefined +LDFLAGS_2 = -O2 -g3 + +PREFIX ?= ${HOME}/.local +BINDIR = ${PREFIX}/bin + +.PHONY: run all clean install uninstall + +all: ${EXE} +run: ${EXE} + ./${EXE} ${RUNARGS} + +debug: ${EXE} + gdb -ex run --args ./${EXE} ${RUNARGS} + +clean: + rm -fv ${EXE} ${OBJ} out.pdf + +${EXE}: ${OBJ} + ${CC} ${LDFLAGS} ${OBJ} -o ${EXE} ${LDLIBS} + +install: ${EXE} + cp ${EXE} ${BINDIR}/${EXE} + +uninstall: + rm ${BINDIR}/${EXE} |
