1262266Sbapt#
2262266Sbapt# Depending on your operating system, you might want to influence
3262266Sbapt# the conditional inclusion of some helper functions:
4262266Sbapt#
5262266Sbapt# Define HAVE_* (in caps) if your system already provides:
6262266Sbapt#   reallocf
7262266Sbapt#   strlcpy
8262266Sbapt#   getprogname
9262266Sbapt#
10262266Sbapt
11262266SbaptSH?=		sh
12262266Sbapt
13262266Sbaptversion=	$(shell ${SH} get-version.sh)
14262266Sbaptdebversion=	$(shell ${SH} get-version.sh | sed -Ee 's/^v//;s/[.]([[:digit:]]+)[.](g[[:xdigit:]]+)$$/+\1+\2/')
15262266Sbapt
16262266SbaptCC?=		gcc
17262266SbaptCFLAGS?=	-O -pipe
18262266SbaptLDADD?=		-lssl -lcrypto -lresolv
19262266Sbapt
20262266SbaptCFLAGS+=	-Wall -DDMA_VERSION='"${version}"' -DLIBEXEC_PATH='"${LIBEXEC}"' -DCONF_PATH='"${CONFDIR}"'
21262266Sbapt
22262266SbaptINSTALL?=	install -p
23262266SbaptCHGRP?=		chgrp
24262266SbaptCHMOD?=		chmod
25262266Sbapt
26262266SbaptPREFIX?=	/usr/local
27262266SbaptSBIN?=		${PREFIX}/sbin
28262266SbaptLIBEXEC?=	${PREFIX}/lib
29262266SbaptCONFDIR?=	/etc/dma
30262266SbaptMAN?=		${PREFIX}/share/man
31262266SbaptVAR?=		/var
32262266SbaptDMASPOOL?=	${VAR}/spool/dma
33262266SbaptVARMAIL?=	${VAR}/mail
34262266SbaptSYMLINK?=	-s # or empty to create hard link
35262266Sbapt
36262266SbaptYACC?=		yacc
37262266SbaptLEX?=		lex
38262266SbaptLN?=		ln
39262266Sbapt
40262266SbaptOBJS=	aliases_parse.o aliases_scan.o base64.o conf.o crypto.o
41262266SbaptOBJS+=	dma.o dns.o local.o mail.o net.o spool.o util.o
42262266SbaptOBJS+=	dfcompat.o
43262266Sbapt
44262266Sbaptall: dma dma-mbox-create
45262266Sbapt
46262266Sbaptclean:
47262266Sbapt	-rm -f .depend dma dma-mbox-create *.[do]
48262266Sbapt	-rm -f aliases_parse.[ch] aliases_scan.c
49262266Sbapt
50262266Sbaptinstall: all
51262266Sbapt	${INSTALL} -d ${DESTDIR}${SBIN}
52262266Sbapt	${INSTALL} -d ${DESTDIR}${MAN}/man8 ${DESTDIR}${LIBEXEC}
53262266Sbapt	${INSTALL} -m 2755 -o root -g mail dma ${DESTDIR}${SBIN}
54262266Sbapt	${INSTALL} -m 4754 -o root -g mail dma-mbox-create ${DESTDIR}${LIBEXEC}
55262266Sbapt	${INSTALL} -m 0644 dma.8 ${DESTDIR}${MAN}/man8/
56262266Sbapt
57262266Sbaptsendmail-link:
58262266Sbapt	cd ${DESTDIR}${SBIN} && ${LN} ${SYMLINK} dma sendmail
59262266Sbapt
60262266Sbaptmailq-link:
61262266Sbapt	cd ${DESTDIR}${SBIN} && ${LN} ${SYMLINK} dma mailq
62262266Sbapt
63262266Sbaptinstall-spool-dirs:
64262266Sbapt	${INSTALL} -d -m 2775 -o root -g mail ${DESTDIR}${DMASPOOL}
65262266Sbapt	${INSTALL} -d -m 2775 -o root -g mail ${DESTDIR}${VARMAIL}
66262266Sbapt
67262266Sbaptpermissions:
68262266Sbapt	-${CHGRP} mail ${DESTDIR}${VARMAIL}/*
69262266Sbapt	-${CHMOD} g+w ${DESTDIR}${VARMAIL}/*
70262266Sbapt	-${CHMOD} 660 ${DESTDIR}${DMASPOOL}/flush
71262266Sbapt
72262266Sbaptinstall-etc:
73262266Sbapt	${INSTALL} -d ${DESTDIR}${CONFDIR}
74262266Sbapt	@if [ -e ${DESTDIR}${CONFDIR}/dma.conf ]; then \
75262266Sbapt		echo "Not overwriting ${DESTDIR}${CONFDIR}/dma.conf."; \
76262266Sbapt	else \
77262266Sbapt		echo ${INSTALL} -m 644 -o root -g mail dma.conf ${DESTDIR}${CONFDIR}; \
78262266Sbapt		${INSTALL} -m 644 -o root -g mail dma.conf ${DESTDIR}${CONFDIR}; \
79262266Sbapt	fi
80262266Sbapt	@if [ -e ${DESTDIR}${CONFDIR}/auth.conf ]; then \
81262266Sbapt		echo "Not overwriting ${DESTDIR}${CONFDIR}/auth.conf."; \
82262266Sbapt	else \
83262266Sbapt		echo ${INSTALL} -m 640 -o root -g mail auth.conf ${DESTDIR}${CONFDIR}; \
84262266Sbapt		${INSTALL} -m 640 -o root -g mail auth.conf ${DESTDIR}${CONFDIR}; \
85262266Sbapt	fi
86262266Sbapt
87262266Sbaptaliases_parse.c: aliases_parse.y
88262266Sbapt	${YACC} -d -o aliases_parse.c aliases_parse.y
89262266Sbapt
90262266Sbaptaliases_scan.c: aliases_scan.l
91262266Sbapt	${LEX} -t aliases_scan.l > aliases_scan.c
92262266Sbapt
93262266Sbapt.SUFFIXES: .c .o
94262266Sbapt
95262266Sbapt.c.o:
96262266Sbapt	${CC} ${CFLAGS} ${CPPFLAGS} -include dfcompat.h -o $@ -c $<
97262266Sbapt
98262266Sbaptdma: ${OBJS}
99262266Sbapt	${CC} ${LDFLAGS} -o $@ ${OBJS} ${LDADD}
100262266Sbapt
101262266Sbapt
102262266Sbaptdch:
103262266Sbapt	dch --release-heuristic changelog -v ${debversion}
104262266Sbapt
105262266Sbapt
106262266Sbaptppa:
107262266Sbapt	@if [ -z '${DEB_DIST}' ]; then echo "please set DEB_DIST to build"; exit 1; fi
108262266Sbapt	dch -v "${debversion}~${DEB_DIST}" -D ${DEB_DIST} "${DEB_DIST} build" -b
109262266Sbapt	debuild -S -sa
110262266Sbapt	ver=$$(dpkg-parsechangelog -n1 | awk '$$1 == "Version:" { print $$2 }'); \
111262266Sbapt	dput ppa:corecode/dma ../dma_$${ver}_source.changes
112