]> git.armaanb.net Git - opendoas.git/blob - Makefile
Handle empty argv
[opendoas.git] / Makefile
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 -O2 -Wall -Wextra -std=c99 ${OS_CFLAGS} ${CFLAGS}
9
10 all: ${PROG}
11
12 OBJS := ${SRCS:.y=.c}
13 OBJS := ${OBJS:.c=.o}
14
15 ${PROG}: ${OBJS}
16         @[ -f ./libopenbsd/strlcat.o ] && mv libopenbsd/*.o . || true
17         ${CC} ${CFLAGS} *.o -o $@ ${LDFLAGS} ${LDLIBS}
18
19 install: ${PROG} ${MAN}
20         mkdir -p -m 0755 ${DESTDIR}${BINDIR}
21         mkdir -p -m 0755 ${DESTDIR}${MANDIR}/man1
22         mkdir -p -m 0755 ${DESTDIR}${MANDIR}/man5
23         cp -f ${PROG} ${DESTDIR}${BINDIR}
24         chown ${BINOWN}:${BINGRP} ${DESTDIR}${BINDIR}/${PROG}
25         chmod ${BINMODE} ${DESTDIR}${BINDIR}/${PROG}
26         cp -f doas.1 ${DESTDIR}${MANDIR}/man1
27         cp -f doas.conf.5 ${DESTDIR}${MANDIR}/man5
28
29 uninstall:
30         rm -f ${DESTDIR}${BINDIR}/${PROG}
31         rm -f ${DESTDIR}${MANDIR}/man1/doas.1
32         rm -f ${DESTDIR}${MANDIR}/man5/doas.conf.5
33
34 clean:
35         rm -f ${PROG} ${OBJS} ${OBJS:.o=.d} parse.c
36
37 -include ${OBJS:.o=.d}
38
39 .PHONY: all clean install uninstall