]> git.armaanb.net Git - opendoas.git/blobdiff - Makefile
Handle empty argv
[opendoas.git] / Makefile
index 7bb667e9a8927aa4be886f245bc56fd0acdec04e..d3c131f6d66bd61311cd71e2e80a25b39a947e1c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,37 +1,39 @@
-#      $OpenBSD: Makefile,v 1.9 2014/01/13 01:41:00 tedu Exp $
+PROG = doas
+MAN = doas.1 doas.conf.5
 
-SRCS=  parse.y doas.c
+SRCS = parse.y doas.c env.c
 
-PROG=  doas
-MAN=   doas.1 doas.conf.5
+include config.mk
 
-BINOWN= root
-BINGRP= wheel
-BINMODE=4555
+CFLAGS := -I. -Ilibopenbsd -O2 -Wall -Wextra -std=c99 ${OS_CFLAGS} ${CFLAGS}
 
-COPTS+= -Wall -Wextra -Werror -pedantic -std=c11
-CFLAGS+= -I${CURDIR} -I${CURDIR}/libopenbsd ${COPTS}
+all: ${PROG}
 
-BINDIR?=/usr/bin
-MANDIR?=/usr/share/man
-
-default: ${PROG}
-
-OBJS:=${SRCS:.y=.c}
-OBJS:=${OBJS:.c=.o}
+OBJS := ${SRCS:.y=.c}
+OBJS := ${OBJS:.c=.o}
 
 ${PROG}: ${OBJS}
-       ${CC} ${COPTS} ${LDOPTS} $^ -o $@
-
-${BINDIR}/${PROG}: ${PROG}
-       cp $< $@
-       chown ${BINOWN}:${BINGRP} $@
-       chmod ${BINMODE} $@
-
-install: ${BINDIR}/${PROG}
+       @[ -f ./libopenbsd/strlcat.o ] && mv libopenbsd/*.o . || true
+       ${CC} ${CFLAGS} *.o -o $@ ${LDFLAGS} ${LDLIBS}
+
+install: ${PROG} ${MAN}
+       mkdir -p -m 0755 ${DESTDIR}${BINDIR}
+       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 -f doas.1 ${DESTDIR}${MANDIR}/man1
+       cp -f doas.conf.5 ${DESTDIR}${MANDIR}/man5
+
+uninstall:
+       rm -f ${DESTDIR}${BINDIR}/${PROG}
+       rm -f ${DESTDIR}${MANDIR}/man1/doas.1
+       rm -f ${DESTDIR}${MANDIR}/man5/doas.conf.5
 
 clean:
-       rm -f ${OBJS}
-       rm -f ${PROG}
+       rm -f ${PROG} ${OBJS} ${OBJS:.o=.d} parse.c
+
+-include ${OBJS:.o=.d}
 
-.PHONY: default clean install
+.PHONY: all clean install uninstall