]> git.armaanb.net Git - opendoas.git/blob - GNUmakefile
simplify makefile
[opendoas.git] / GNUmakefile
1 PROG=   doas
2 MAN=    doas.1 doas.conf.5
3
4 SRCS=   parse.y doas.c env.c
5
6 include config.mk
7
8 CFLAGS+= -I. -Ilibopenbsd ${COPTS}
9 COPTS+= -Wall -Wextra -Werror -pedantic
10 YFLAGS=
11
12 all: ${PROG}
13
14 OBJS:=  ${SRCS:.y=.c}
15 OBJS:=  ${OBJS:.c=.o}
16
17 ${PROG}: ${OBJS}
18         ${CC} ${CFLAGS} $^ -o $@ ${LDFLAGS}
19
20 install: ${PROG} ${PAM_DOAS} ${MAN}
21         mkdir -p -m 0755 ${DESTDIR}${BINDIR}
22         [ -n "${PAM_DOAS}" ] && mkdir -p -m 0755 ${DESTDIR}${PAMDIR} || true
23         mkdir -p -m 0755 ${DESTDIR}${MANDIR}/man1
24         mkdir -p -m 0755 ${DESTDIR}${MANDIR}/man5
25         cp -f ${PROG} ${DESTDIR}${BINDIR}
26         chown ${BINOWN}:${BINGRP} ${DESTDIR}${BINDIR}/${PROG}
27         chmod ${BINMODE} ${DESTDIR}${BINDIR}/${PROG}
28         [ -n "${PAM_DOAS}" ] && cp ${PAM_DOAS} ${DESTDIR}${PAMDIR}/doas || true
29         [ -n "${PAM_DOAS}" ] && chmod 0644 ${DESTDIR}${PAMDIR}/doas || true
30         cp -f doas.1 ${DESTDIR}${MANDIR}/man1
31         cp -f doas.conf.5 ${DESTDIR}${MANDIR}/man5
32
33 uninstall:
34         rm -f ${DESTDIR}${BINDIR}/${PROG}
35         rm -f ${DESTDIR}${PAMDIR}/doas
36         rm -f ${DESTDIR}${MANDIR}/man1/doas.1
37         rm -f ${DESTDIR}${MANDIR}/man5/doas.conf.5
38
39 clean:
40         rm -f ${PROG} ${OBJS} ${OBJS:.o=.d} parse.c
41
42 -include ${OBJS:.o=.d}
43
44 .PHONY: all clean install uninstall