]> git.armaanb.net Git - opendoas.git/blobdiff - bsd.prog.mk
timestamp: error out if fstat and lstat st_ino and st_dev are not the same
[opendoas.git] / bsd.prog.mk
index 5769588c9b6d6e82226f4e6fe7a7d610bb63dbb8..df8f51461be9ed6968433e3a7b582047d6c75589 100644 (file)
@@ -2,43 +2,48 @@
 
 default: ${PROG}
 
+CFLAGS  += -I${CURDIR}/libopenbsd ${COPTS} -MD -MP -Wno-unused-result
+
 include config.mk
 
-OPENBSD:=$(addprefix libopenbsd/,${OPENBSD:.c=.o})
+OPENBSD := $(addprefix libopenbsd/,${OPENBSD})
+OBJS    := ${SRCS:.y=.c}
+OBJS    := ${OBJS:.c=.o}
+
 libopenbsd.a: ${OPENBSD}
        ${AR} -r $@ $?
 
-CFLAGS:=${CFLAGS} -I${CURDIR}/libopenbsd ${COPTS} -MD -MP
-
-OBJS:=${SRCS:.y=.c}
-OBJS:=${OBJS:.c=.o}
-
 ${PROG}: ${OBJS} libopenbsd.a
-       ${CC} ${CFLAGS} ${LDFLAGS} $^ -o $@
+       ${CC} ${CFLAGS} $^ -o $@ ${LDFLAGS}
 
-install: ${PROG} ${PAM_DOAS}
+install: ${PROG} ${PAM_DOAS} ${MAN}
        mkdir -p -m 0755 ${DESTDIR}${BINDIR}
-       mkdir -p -m 0755 ${DESTDIR}${PAMDIR}
+       [ -n "${PAM_DOAS}" ] && mkdir -p -m 0755 ${DESTDIR}${PAMDIR} || true
        mkdir -p -m 0755 ${DESTDIR}${MANDIR}/man1
        mkdir -p -m 0755 ${DESTDIR}${MANDIR}/man5
        cp -f ${PROG} ${DESTDIR}${BINDIR}
        chown ${BINOWN}:${BINGRP} ${DESTDIR}${BINDIR}/${PROG}
        chmod ${BINMODE} ${DESTDIR}${BINDIR}/${PROG}
-       cp ${PAM_DOAS} ${DESTDIR}${PAMDIR}/doas
-       chmod 0644 ${DESTDIR}${PAMDIR}/doas
+       [ -n "${PAM_DOAS}" ] && cp ${PAM_DOAS} ${DESTDIR}${PAMDIR}/doas || true
+       [ -n "${PAM_DOAS}" ] && chmod 0644 ${DESTDIR}${PAMDIR}/doas || true
        cp -f doas.1 ${DESTDIR}${MANDIR}/man1
        cp -f doas.conf.5 ${DESTDIR}${MANDIR}/man5
 
+uninstall:
+       rm -f ${DESTDIR}${BINDIR}/${PROG}
+       rm -f ${DESTDIR}${PAMDIR}/doas
+       rm -f ${DESTDIR}${MANDIR}/man1/doas.1
+       rm -f ${DESTDIR}${MANDIR}/man5/doas.conf.5
+
 clean:
-       rm -f version.h
        rm -f libopenbsd.a
        rm -f ${OPENBSD}
        rm -f ${OPENBSD:.o=.d}
        rm -f ${OBJS}
        rm -f ${OBJS:.o=.d}
        rm -f ${PROG}
+       rm -f parse.c
 
--include ${objs:.o=.d} ${OPENBSD:.o=.d}
+-include ${OBJS:.o=.d} ${OPENBSD:.o=.d}
 
-.PHONY: default clean install man
-.INTERMEDIATE: .${PROG}.chmod
+.PHONY: default clean install uninstall