]> git.armaanb.net Git - opendoas.git/blob - bsd.prog.mk
timestamp: error out if fstat and lstat st_ino and st_dev are not the same
[opendoas.git] / bsd.prog.mk
1 # Copyright 2015 Nathan Holstein
2
3 default: ${PROG}
4
5 CFLAGS  += -I${CURDIR}/libopenbsd ${COPTS} -MD -MP -Wno-unused-result
6
7 include config.mk
8
9 OPENBSD := $(addprefix libopenbsd/,${OPENBSD})
10 OBJS    := ${SRCS:.y=.c}
11 OBJS    := ${OBJS:.c=.o}
12
13 libopenbsd.a: ${OPENBSD}
14         ${AR} -r $@ $?
15
16 ${PROG}: ${OBJS} libopenbsd.a
17         ${CC} ${CFLAGS} $^ -o $@ ${LDFLAGS}
18
19 install: ${PROG} ${PAM_DOAS} ${MAN}
20         mkdir -p -m 0755 ${DESTDIR}${BINDIR}
21         [ -n "${PAM_DOAS}" ] && mkdir -p -m 0755 ${DESTDIR}${PAMDIR} || true
22         mkdir -p -m 0755 ${DESTDIR}${MANDIR}/man1
23         mkdir -p -m 0755 ${DESTDIR}${MANDIR}/man5
24         cp -f ${PROG} ${DESTDIR}${BINDIR}
25         chown ${BINOWN}:${BINGRP} ${DESTDIR}${BINDIR}/${PROG}
26         chmod ${BINMODE} ${DESTDIR}${BINDIR}/${PROG}
27         [ -n "${PAM_DOAS}" ] && cp ${PAM_DOAS} ${DESTDIR}${PAMDIR}/doas || true
28         [ -n "${PAM_DOAS}" ] && chmod 0644 ${DESTDIR}${PAMDIR}/doas || true
29         cp -f doas.1 ${DESTDIR}${MANDIR}/man1
30         cp -f doas.conf.5 ${DESTDIR}${MANDIR}/man5
31
32 uninstall:
33         rm -f ${DESTDIR}${BINDIR}/${PROG}
34         rm -f ${DESTDIR}${PAMDIR}/doas
35         rm -f ${DESTDIR}${MANDIR}/man1/doas.1
36         rm -f ${DESTDIR}${MANDIR}/man5/doas.conf.5
37
38 clean:
39         rm -f libopenbsd.a
40         rm -f ${OPENBSD}
41         rm -f ${OPENBSD:.o=.d}
42         rm -f ${OBJS}
43         rm -f ${OBJS:.o=.d}
44         rm -f ${PROG}
45         rm -f parse.c
46
47 -include ${OBJS:.o=.d} ${OPENBSD:.o=.d}
48
49 .PHONY: default clean install uninstall