about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Makefile26
1 files changed, 24 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 46ab385..a8ca227 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,20 @@
+PREFIX ?= /usr/local
+MANDIR ?= ${PREFIX}/share/man
+ETCDIR ?= ${PREFIX}/etc
+RUNDIR ?= /var/run
+
 CFLAGS += -std=c99 -Wall -Wextra -Wpedantic
+CFLAGS += -D'ETCDIR="${ETCDIR}"' -D'RUNDIR="${RUNDIR}"'
 
 -include config.mk
 
+BINS = spawn spawnd
+MAN8 = ${BINS:=.8}
+MAN5 = spawntab.5
+
 OBJS += daemon.o
 
-all: spawn spawnd
+all: ${BINS}
 
 spawnd: ${OBJS}
 	${CC} ${LDFLAGS} ${OBJS} ${LDLIBS} -o $@
@@ -12,4 +22,16 @@ spawnd: ${OBJS}
 ${OBJS}: daemon.h
 
 clean:
-	rm -f spawn spawnd ${OBJS}
+	rm -f ${BINS} ${OBJS}
+
+install: ${BINS} ${MAN5} ${MAN8}
+	install -d ${DESTDIR}${PREFIX}/sbin
+	install -d ${DESTDIR}${MANDIR}/man5 ${DESTDIR}${MANDIR}/man8
+	install ${BINS} ${DESTDIR}${PREFIX}/sbin
+	install -m 644 ${MAN5} ${DESTDIR}${MANDIR}/man5
+	install -m 644 ${MAN8} ${DESTDIR}${MANDIR}/man8
+
+uninstall:
+	rm -f ${BINS:%=${DESTDIR}${PREFIX}/sbin/%}
+	rm -f ${MAN5:%=${DESTDIR}${MANDIR}/man5/%}
+	rm -f ${MAN8:%=${DESTDIR}${MANDIR}/man8/%}