X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=bsd.prog.mk;h=df8f51461be9ed6968433e3a7b582047d6c75589;hb=346e58e98596142ac2f3059814bbc7708b6824fd;hp=d2caff42d7d94a8e6d2891a8167e4dacd90c71e7;hpb=673f187858a3b10aae4e41b190ca04f6f85c99f1;p=opendoas.git diff --git a/bsd.prog.mk b/bsd.prog.mk index d2caff4..df8f514 100644 --- a/bsd.prog.mk +++ b/bsd.prog.mk @@ -2,56 +2,48 @@ default: ${PROG} +CFLAGS += -I${CURDIR}/libopenbsd ${COPTS} -MD -MP -Wno-unused-result + include config.mk -OPENBSD:=$(addprefix libopenbsd/,${OPENBSD:.c=.o}) +OPENBSD := $(addprefix libopenbsd/,${OPENBSD}) +OBJS := ${SRCS:.y=.c} +OBJS := ${OBJS:.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} $@ - -${DESTDIR}${BINDIR} ${DESTDIR}${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 $$< $$@)) - -install: ${DESTDIR}${BINDIR}/${PROG} ${DESTDIR}${PAMDIR}/doas ${MAN} + ${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} ${OPENBSD:.o=.d} -.PHONY: default clean install man -.INTERMEDIATE: .${PROG}.chmod +.PHONY: default clean install uninstall