1a9e8641dSBaptiste Daroussin# 2a9e8641dSBaptiste Daroussin# Depending on your operating system, you might want to influence 3a9e8641dSBaptiste Daroussin# the conditional inclusion of some helper functions: 4a9e8641dSBaptiste Daroussin# 5a9e8641dSBaptiste Daroussin# Define HAVE_* (in caps) if your system already provides: 6a9e8641dSBaptiste Daroussin# reallocf 7a9e8641dSBaptiste Daroussin# strlcpy 8a9e8641dSBaptiste Daroussin# getprogname 9a9e8641dSBaptiste Daroussin# 10a9e8641dSBaptiste Daroussin 11a9e8641dSBaptiste DaroussinSH?= sh 12a9e8641dSBaptiste Daroussin 13a9e8641dSBaptiste Daroussinversion= $(shell ${SH} get-version.sh) 14a9e8641dSBaptiste Daroussindebversion= $(shell ${SH} get-version.sh | sed -Ee 's/^v//;s/[.]([[:digit:]]+)[.](g[[:xdigit:]]+)$$/+\1+\2/') 15a9e8641dSBaptiste Daroussin 16a9e8641dSBaptiste DaroussinCC?= gcc 17a9e8641dSBaptiste DaroussinCFLAGS?= -O -pipe 18a9e8641dSBaptiste DaroussinLDADD?= -lssl -lcrypto -lresolv 19a9e8641dSBaptiste Daroussin 20*fbe95b88SBaptiste DaroussinCFLAGS+= -Wall -Wno-format-truncation -DDMA_VERSION='"${version}"' -DLIBEXEC_PATH='"${LIBEXEC}"' -DCONF_PATH='"${CONFDIR}"' 21a9e8641dSBaptiste Daroussin 22a9e8641dSBaptiste DaroussinINSTALL?= install -p 23a9e8641dSBaptiste DaroussinCHGRP?= chgrp 24a9e8641dSBaptiste DaroussinCHMOD?= chmod 25a9e8641dSBaptiste Daroussin 26a9e8641dSBaptiste DaroussinPREFIX?= /usr/local 27a9e8641dSBaptiste DaroussinSBIN?= ${PREFIX}/sbin 28a9e8641dSBaptiste DaroussinLIBEXEC?= ${PREFIX}/lib 29a9e8641dSBaptiste DaroussinCONFDIR?= /etc/dma 30a9e8641dSBaptiste DaroussinMAN?= ${PREFIX}/share/man 31a9e8641dSBaptiste DaroussinVAR?= /var 32a9e8641dSBaptiste DaroussinDMASPOOL?= ${VAR}/spool/dma 33a9e8641dSBaptiste DaroussinVARMAIL?= ${VAR}/mail 34a9e8641dSBaptiste DaroussinSYMLINK?= -s # or empty to create hard link 35a9e8641dSBaptiste Daroussin 36a9e8641dSBaptiste DaroussinYACC?= yacc 37a9e8641dSBaptiste DaroussinLEX?= lex 38a9e8641dSBaptiste DaroussinLN?= ln 39a9e8641dSBaptiste Daroussin 40a9e8641dSBaptiste DaroussinOBJS= aliases_parse.o aliases_scan.o base64.o conf.o crypto.o 41a9e8641dSBaptiste DaroussinOBJS+= dma.o dns.o local.o mail.o net.o spool.o util.o 42a9e8641dSBaptiste DaroussinOBJS+= dfcompat.o 43a9e8641dSBaptiste Daroussin 44a9e8641dSBaptiste Daroussinall: dma dma-mbox-create 45a9e8641dSBaptiste Daroussin 46a9e8641dSBaptiste Daroussinclean: 47a9e8641dSBaptiste Daroussin -rm -f .depend dma dma-mbox-create *.[do] 48a9e8641dSBaptiste Daroussin -rm -f aliases_parse.[ch] aliases_scan.c 49a9e8641dSBaptiste Daroussin 50a9e8641dSBaptiste Daroussininstall: all 51a9e8641dSBaptiste Daroussin ${INSTALL} -d ${DESTDIR}${SBIN} 52a9e8641dSBaptiste Daroussin ${INSTALL} -d ${DESTDIR}${MAN}/man8 ${DESTDIR}${LIBEXEC} 53a9e8641dSBaptiste Daroussin ${INSTALL} -m 2755 -o root -g mail dma ${DESTDIR}${SBIN} 54a9e8641dSBaptiste Daroussin ${INSTALL} -m 4754 -o root -g mail dma-mbox-create ${DESTDIR}${LIBEXEC} 55a9e8641dSBaptiste Daroussin ${INSTALL} -m 0644 dma.8 ${DESTDIR}${MAN}/man8/ 56a9e8641dSBaptiste Daroussin 57a9e8641dSBaptiste Daroussinsendmail-link: 58a9e8641dSBaptiste Daroussin cd ${DESTDIR}${SBIN} && ${LN} ${SYMLINK} dma sendmail 59a9e8641dSBaptiste Daroussin 60a9e8641dSBaptiste Daroussinmailq-link: 61a9e8641dSBaptiste Daroussin cd ${DESTDIR}${SBIN} && ${LN} ${SYMLINK} dma mailq 62a9e8641dSBaptiste Daroussin 63a9e8641dSBaptiste Daroussininstall-spool-dirs: 64a9e8641dSBaptiste Daroussin ${INSTALL} -d -m 2775 -o root -g mail ${DESTDIR}${DMASPOOL} 65a9e8641dSBaptiste Daroussin ${INSTALL} -d -m 2775 -o root -g mail ${DESTDIR}${VARMAIL} 66a9e8641dSBaptiste Daroussin 67a9e8641dSBaptiste Daroussinpermissions: 68a9e8641dSBaptiste Daroussin -${CHGRP} mail ${DESTDIR}${VARMAIL}/* 69a9e8641dSBaptiste Daroussin -${CHMOD} g+w ${DESTDIR}${VARMAIL}/* 70a9e8641dSBaptiste Daroussin -${CHMOD} 660 ${DESTDIR}${DMASPOOL}/flush 71a9e8641dSBaptiste Daroussin 72a9e8641dSBaptiste Daroussininstall-etc: 73a9e8641dSBaptiste Daroussin ${INSTALL} -d ${DESTDIR}${CONFDIR} 74a9e8641dSBaptiste Daroussin @if [ -e ${DESTDIR}${CONFDIR}/dma.conf ]; then \ 75a9e8641dSBaptiste Daroussin echo "Not overwriting ${DESTDIR}${CONFDIR}/dma.conf."; \ 76a9e8641dSBaptiste Daroussin else \ 77a9e8641dSBaptiste Daroussin echo ${INSTALL} -m 644 -o root -g mail dma.conf ${DESTDIR}${CONFDIR}; \ 78a9e8641dSBaptiste Daroussin ${INSTALL} -m 644 -o root -g mail dma.conf ${DESTDIR}${CONFDIR}; \ 79a9e8641dSBaptiste Daroussin fi 80a9e8641dSBaptiste Daroussin @if [ -e ${DESTDIR}${CONFDIR}/auth.conf ]; then \ 81a9e8641dSBaptiste Daroussin echo "Not overwriting ${DESTDIR}${CONFDIR}/auth.conf."; \ 82a9e8641dSBaptiste Daroussin else \ 83a9e8641dSBaptiste Daroussin echo ${INSTALL} -m 640 -o root -g mail auth.conf ${DESTDIR}${CONFDIR}; \ 84a9e8641dSBaptiste Daroussin ${INSTALL} -m 640 -o root -g mail auth.conf ${DESTDIR}${CONFDIR}; \ 85a9e8641dSBaptiste Daroussin fi 86a9e8641dSBaptiste Daroussin 87a9e8641dSBaptiste Daroussinaliases_parse.c: aliases_parse.y 88a9e8641dSBaptiste Daroussin ${YACC} -d -o aliases_parse.c aliases_parse.y 89a9e8641dSBaptiste Daroussin 90a9e8641dSBaptiste Daroussinaliases_scan.c: aliases_scan.l 91a9e8641dSBaptiste Daroussin ${LEX} -t aliases_scan.l > aliases_scan.c 92a9e8641dSBaptiste Daroussin 93a9e8641dSBaptiste Daroussin.SUFFIXES: .c .o 94a9e8641dSBaptiste Daroussin 95a9e8641dSBaptiste Daroussin.c.o: 96a9e8641dSBaptiste Daroussin ${CC} ${CFLAGS} ${CPPFLAGS} -include dfcompat.h -o $@ -c $< 97a9e8641dSBaptiste Daroussin 98a9e8641dSBaptiste Daroussindma: ${OBJS} 99a9e8641dSBaptiste Daroussin ${CC} ${LDFLAGS} -o $@ ${OBJS} ${LDADD} 100a9e8641dSBaptiste Daroussin 101a9e8641dSBaptiste Daroussin 102a9e8641dSBaptiste Daroussindch: 103a9e8641dSBaptiste Daroussin dch --release-heuristic changelog -v ${debversion} 104a9e8641dSBaptiste Daroussin 105a9e8641dSBaptiste Daroussin 106a9e8641dSBaptiste Daroussinppa: 107a9e8641dSBaptiste Daroussin @if [ -z '${DEB_DIST}' ]; then echo "please set DEB_DIST to build"; exit 1; fi 108a9e8641dSBaptiste Daroussin dch -v "${debversion}~${DEB_DIST}" -D ${DEB_DIST} "${DEB_DIST} build" -b 109a9e8641dSBaptiste Daroussin debuild -S -sa 110a9e8641dSBaptiste Daroussin ver=$$(dpkg-parsechangelog -n1 | awk '$$1 == "Version:" { print $$2 }'); \ 111a9e8641dSBaptiste Daroussin dput ppa:corecode/dma ../dma_$${ver}_source.changes 112