X-Git-Url: https://git.armaanb.net/?p=opendoas.git;a=blobdiff_plain;f=Makefile;h=d3c131f6d66bd61311cd71e2e80a25b39a947e1c;hp=167d8dd5f8894451f28babf8af99909b2e56a168;hb=HEAD;hpb=4272fe4a9344245a61a55fb8d4091f459c235dcc diff --git a/Makefile b/Makefile index 167d8dd..d3c131f 100644 --- a/Makefile +++ b/Makefile @@ -1,45 +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 +OBJS := ${SRCS:.y=.c} +OBJS := ${OBJS:.c=.o} -default: ${PROG} +${PROG}: ${OBJS} + @[ -f ./libopenbsd/strlcat.o ] && mv libopenbsd/*.o . || true + ${CC} ${CFLAGS} *.o -o $@ ${LDFLAGS} ${LDLIBS} -OPENBSD:=reallocarray.c strtonum.c execvpe.c setresuid.c \ - auth_userokay.c setusercontext.c -OPENBSD:=$(addprefix libopenbsd/,${OPENBSD:.c=.o}) -libopenbsd.a: ${OPENBSD} - ${AR} -r $@ $? +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 -OBJS:=${SRCS:.y=.c} -OBJS:=${OBJS:.c=.o} - -${PROG}: ${OBJS} libopenbsd.a - ${CC} ${CFLAGS} ${LDFLAGS} $^ -o $@ - -${BINDIR}/${PROG}: ${PROG} - cp $< $@ - chown ${BINOWN}:${BINGRP} $@ - chmod ${BINMODE} $@ - -install: ${BINDIR}/${PROG} +uninstall: + rm -f ${DESTDIR}${BINDIR}/${PROG} + rm -f ${DESTDIR}${MANDIR}/man1/doas.1 + rm -f ${DESTDIR}${MANDIR}/man5/doas.conf.5 clean: - rm -f libopenbsd.a - rm -f ${OPENBSD} - 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