X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=bsd.prog.mk;h=6441fd8e0d8dfa85c09770fcd426ba3f2d0b58f8;hb=9bfe647d25e27479c391492470e31dedef366238;hp=6c70ad76b12a18fd89a78fb2aa5944c78c37a298;hpb=861d30f4b90c5312b33358caea08e8e26fc24818;p=opendoas.git diff --git a/bsd.prog.mk b/bsd.prog.mk index 6c70ad7..6441fd8 100644 --- a/bsd.prog.mk +++ b/bsd.prog.mk @@ -2,56 +2,41 @@ default: ${PROG} -include config.mk - -OPENBSD:=$(addprefix libopenbsd/,${OPENBSD:.c=.o}) -libopenbsd.a: ${OPENBSD} - ${AR} -r $@ $? - -CFLAGS:=${CFLAGS} -I${CURDIR}/libopenbsd ${COPTS} -MD -MP - -OBJS:=${SRCS:.y=.c} -OBJS:=${OBJS:.c=.o} - -${PROG}: ${OBJS} libopenbsd.a - ${CC} ${CFLAGS} ${LDFLAGS} $^ -o $@ - -.%.chmod: % - cp $< $@ - chown ${BINOWN}:${BINGRP} $@ - chmod ${BINMODE} $@ +CFLAGS += -I${CURDIR}/libopenbsd ${COPTS} -MD -MP -Wno-unused-result -${DESTRDIR}${BINDIR} ${DESTRDIR}${PAMDIR}: - mkdir -pm 0755 $@ - -${DESTDIR}${BINDIR}/${PROG}: .${PROG}.chmod ${BINDIR} - mv $< $@ - -${DESTDIR}${PAMDIR}/doas: ${PAM_DOAS} - cp $< $@ - -VERSION:=\#define VERSION "$(shell git describe --dirty --tags --long --always)" -OLDVERSION:=$(shell [ -f version.h ] && cat version.h) -version.h: ; @echo '$(VERSION)' > $@ -ifneq ($(VERSION),$(OLDVERSION)) -.PHONY: version.h -endif - -MAN:=$(join $(addprefix ${DESTDIR}${MANDIR}/man,$(patsubst .%,%/,$(suffix ${MAN}))),${MAN}) -$(foreach M,${MAN},$(eval $M: $(notdir $M); cp $$< $$@)) +include config.mk -install: ${DESTDIR}${BINDIR}/${PROG} ${DESTDIR}${PAMDIR}/doas ${MAN} +OBJS := ${SRCS:.y=.c} +OBJS := ${OBJS:.c=.o} + +${PROG}: ${OBJS} + ${CC} ${CFLAGS} $^ -o $@ ${LDFLAGS} + +install: ${PROG} ${PAM_DOAS} ${MAN} + mkdir -p -m 0755 ${DESTDIR}${BINDIR} + [ -n "${PAM_DOAS}" ] && mkdir -p -m 0755 ${DESTDIR}${PAMDIR} || true + 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} + [ -n "${PAM_DOAS}" ] && cp ${PAM_DOAS} ${DESTDIR}${PAMDIR}/doas || true + [ -n "${PAM_DOAS}" ] && chmod 0644 ${DESTDIR}${PAMDIR}/doas || true + cp -f doas.1 ${DESTDIR}${MANDIR}/man1 + cp -f doas.conf.5 ${DESTDIR}${MANDIR}/man5 + +uninstall: + rm -f ${DESTDIR}${BINDIR}/${PROG} + rm -f ${DESTDIR}${PAMDIR}/doas + rm -f ${DESTDIR}${MANDIR}/man1/doas.1 + rm -f ${DESTDIR}${MANDIR}/man5/doas.conf.5 clean: - rm -f version.h - rm -f libopenbsd.a - rm -f ${OPENBSD} - rm -f ${OPENBSD:.o=.d} rm -f ${OBJS} rm -f ${OBJS:.o=.d} rm -f ${PROG} + rm -f parse.c --include ${objs:.o=.d} ${OPENBSD:.o=.d} +-include ${OBJS:.o=.d} -.PHONY: default clean install man -.INTERMEDIATE: .${PROG}.chmod +.PHONY: default clean install uninstall