# $OpenBSD: Makefile,v 1.9 2014/01/13 01:41:00 tedu Exp $
+#
+# Copyright 2015 Nathan Holstein
SRCS= parse.y doas.c
BINOWN= root
BINGRP= wheel
-BINMODE=4555
+BINMODE=4511
COPTS+= -Wall -Wextra -Werror -pedantic -std=c11
CFLAGS+= -I${CURDIR} -I${CURDIR}/libopenbsd ${COPTS}
+LDFLAGS+= -lpam
BINDIR?=/usr/bin
MANDIR?=/usr/share/man
default: ${PROG}
OPENBSD:=reallocarray.c strtonum.c execvpe.c setresuid.c \
- auth_userokay.c setusercontext.c
+ auth_userokay.c setusercontext.c explicit_bzero.c
OPENBSD:=$(addprefix libopenbsd/,${OPENBSD:.c=.o})
libopenbsd.a: ${OPENBSD}
${AR} -r $@ $?
${PROG}: ${OBJS} libopenbsd.a
${CC} ${CFLAGS} ${LDFLAGS} $^ -o $@
-${BINDIR}/${PROG}: ${PROG}
+.%.chmod: %
cp $< $@
- chown ${BINOWN}:${BINGRP} $@
chmod ${BINMODE} $@
+ chown ${BINOWN}:${BINGRP} $@
+
+${BINDIR}:
+ mkdir -pm 0755 $@
+
+${BINDIR}/${PROG}: .${PROG}.chmod ${BINDIR}
+ mv $< $@
install: ${BINDIR}/${PROG}
rm -f ${PROG}
.PHONY: default clean install
+.INTERMEDIATE: .${PROG}.chmod