1PKG= openresolv 2 3# Nasty hack so that make clean works without configure being run 4_CONFIG_MK!= test -e config.mk && echo config.mk || echo config-null.mk 5CONFIG_MK?= ${_CONFIG_MK} 6include ${CONFIG_MK} 7 8DIST!= if test -d .git; then echo "dist-git"; \ 9 else echo "dist-inst"; fi 10 11SBINDIR?= /sbin 12SYSCONFDIR?= /etc 13LIBEXECDIR?= /libexec/resolvconf 14VARDIR?= /var/run/resolvconf 15 16ECHO?= echo 17INSTALL?= install 18SED?= sed 19 20VERSION!= ${SED} -n 's/OPENRESOLV_VERSION="\(.*\)".*/\1/p' resolvconf.in 21 22BINMODE?= 0755 23DOCMODE?= 0644 24MANMODE?= 0444 25 26RESOLVCONF= resolvconf resolvconf.8 resolvconf.conf.5 27SUBSCRIBERS= libc dnsmasq named pdnsd pdns_recursor unbound 28SUBSCRIBERS+= systemd-resolved resolvectl 29LIBC_SUBSCRIBERS= avahi-daemon mdnsd 30TARGET= ${RESOLVCONF} ${SUBSCRIBERS} ${LIBC_SUBSCRIBERS} 31SRCS= ${TARGET:C,$,.in,} # pmake 32SRCS:= ${TARGET:=.in} # gmake 33 34SED_SBINDIR= -e 's:@SBINDIR@:${SBINDIR}:g' 35SED_SYSCONFDIR= -e 's:@SYSCONFDIR@:${SYSCONFDIR}:g' 36SED_LIBEXECDIR= -e 's:@LIBEXECDIR@:${LIBEXECDIR}:g' 37SED_VARDIR= -e 's:@VARDIR@:${VARDIR}:g' 38SED_RCDIR= -e 's:@RCDIR@:${RCDIR}:g' 39SED_RESTARTCMD= -e 's:@RESTARTCMD@:${RESTARTCMD}:g' 40SED_RCDIR= -e 's:@RCDIR@:${RCDIR}:g' 41SED_STATUSARG= -e 's:@STATUSARG@:${STATUSARG}:g' 42 43DISTPREFIX?= ${PKG}-${VERSION} 44DISTFILE?= ${DISTPREFIX}.tar.xz 45DISTINFO= ${DISTFILE}.distinfo 46DISTINFOMD= ${DISTINFO}.md 47DISTSIGN= ${DISTFILE}.asc 48SHA256?= sha256 49PGP?= gpg2 50 51GITREF?= HEAD 52 53.SUFFIXES: .in 54 55all: ${TARGET} 56 57.in: Makefile ${CONFIG_MK} 58 ${SED} ${SED_SBINDIR} ${SED_SYSCONFDIR} ${SED_LIBEXECDIR} \ 59 ${SED_VARDIR} \ 60 ${SED_RCDIR} ${SED_RESTARTCMD} ${SED_RCDIR} ${SED_STATUSARG} \ 61 $< > $@ 62 63clean: 64 rm -f ${TARGET} 65 66distclean: clean 67 rm -f config.mk ${DISTFILE} ${DISTINFO} ${DISTINFOMD} ${DISTSIGN} 68 69installdirs: 70 71proginstall: ${TARGET} 72 ${INSTALL} -d ${DESTDIR}${SBINDIR} 73 ${INSTALL} -m ${BINMODE} resolvconf ${DESTDIR}${SBINDIR} 74 ${INSTALL} -d ${DESTDIR}${SYSCONFDIR} 75 test -e ${DESTDIR}${SYSCONFDIR}/resolvconf.conf || \ 76 ${INSTALL} -m ${DOCMODE} resolvconf.conf ${DESTDIR}${SYSCONFDIR} 77 ${INSTALL} -d ${DESTDIR}${LIBEXECDIR} 78 ${INSTALL} -m ${DOCMODE} ${SUBSCRIBERS} ${DESTDIR}${LIBEXECDIR} 79 ${INSTALL} -d ${DESTDIR}${LIBEXECDIR}/libc.d 80 ${INSTALL} -m ${DOCMODE} ${LIBC_SUBSCRIBERS} \ 81 ${DESTDIR}${LIBEXECDIR}/libc.d 82 83maninstall: 84 ${INSTALL} -d ${DESTDIR}${MANDIR}/man8 85 ${INSTALL} -m ${MANMODE} resolvconf.8 ${DESTDIR}${MANDIR}/man8 86 ${INSTALL} -d ${DESTDIR}${MANDIR}/man5 87 ${INSTALL} -m ${MANMODE} resolvconf.conf.5 ${DESTDIR}${MANDIR}/man5 88 89install: proginstall maninstall 90 91dist-git: 92 git archive --prefix=${DISTPREFIX}/ ${GITREF} | xz >${DISTFILE} 93 94dist-inst: 95 mkdir /tmp/${DISTPREFIX} 96 cp -RPp * /tmp/${DISTPREFIX} 97 (cd /tmp/${DISTPREFIX}; make clean) 98 tar -cvJpf ${DISTFILE} -C /tmp ${DISTPREFIX} 99 rm -rf /tmp/${DISTPREFIX} 100 101dist: ${DIST} 102 103distinfo: dist 104 rm -f ${DISTINFO} ${DISTSIGN} 105 ${SHA256} ${DISTFILE} >${DISTINFO} 106 wc -c <${DISTFILE} \ 107 | xargs printf 'Size (${DISTFILE}) = %s\n' >>${DISTINFO} 108 ${PGP} --sign --armour --detach ${DISTFILE} 109 chmod 644 ${DISTSIGN} 110 ls -l ${DISTFILE} ${DISTINFO} ${DISTSIGN} 111 112${DISTINFOMD}: ${DISTINFO} 113 echo '```' >${DISTINFOMD} 114 cat ${DISTINFO} >>${DISTINFOMD} 115 echo '```' >>${DISTINFOMD} 116 117release: distinfo ${DISTINFOMD} 118 gh release create v${VERSION} \ 119 --title "openresolv ${VERSION}" --draft --generate-notes \ 120 --notes-file ${DISTINFOMD} \ 121 ${DISTFILE} ${DISTSIGN} 122 123import: dist 124 rm -rf /tmp/${DISTPREFIX} 125 ${INSTALL} -d /tmp/${DISTPREFIX} 126 tar xvJpf ${DISTFILE} -C /tmp 127 128_import-src: 129 rm -rf ${DESTDIR}/* 130 ${INSTALL} -d ${DESTDIR} 131 cp LICENSE README.md ${SRCS} resolvconf.conf ${DESTDIR}; 132 cp resolvconf.8.in resolvconf.conf.5.in ${DESTDIR}; 133 @${ECHO} 134 @${ECHO} "=============================================================" 135 @${ECHO} "openresolv-${VERSION} imported to ${DESTDIR}" 136 137import-src: 138 ${MAKE} _import-src DESTDIR=`if [ -n "${DESTDIR}" ]; then echo "${DESTDIR}"; else echo /tmp/${DISTPREFIX}; fi` 139