PROGN:=probotic USER := probotic PREFIX = /opt/${USER}/ CFLAGS:=-std=c99 -Wall -Wextra -Wpedantic -Wvla -Wshadow -Wundef CPPFLAGS:=-I./lib/libircclient/include/ -Iinclude -D_GNU_SOURCE -DPROGN=\"${PROGN}\" -D_FORTIFY_SOURCE=2 LDLIBS:=-lsqlite3 LIB:=./lib/libircclient/src/libircclient.o SRC := api.c irc.c main.c parse.c unity.c HDR := config.h api.h error.h irc.h irccolors.h parse.h stmt.h VPATH := src include ifeq (${DEBUG},1) CFLAGS += -Og -ggdb else CFLAGS += -O3 -flto=auto -fomit-frame-pointer endif ifdef SAN CFLAGS += -fsanitize=${SAN} endif ifeq (${ENABLE_SSL},1) LDLIBS += -lssl -lcrypto endif ${PROGN}: include/config.h ${HDR} ${SRC} ${LINK.c} -pipe ${LIB} src/unity.c -o $@ ${LDLIBS} # do nothing but update them... ${SRC} ${HDR}: include/config.h: config.mk.h cp -f $< $@ clean: -rm ${OBJ} ${PREFIX}: mkdir $@ bootstrap: make -C bootstrap install: bootstrap ${PREFIX} useradd ${USER} -r -s /sbin/nologin -d ${PREFIX} || true install -v -g ${USER} -o ${USER} -m 744 ./bootstrap/data.sqlite ${PROGN} ${PREFIX} chown ${USER}:${USER} ${PREFIX} -R uninstall: userdel -rf ${USER} .PHONY: clean bootstrap install uninstall