xref: /freebsd/contrib/dma/Makefile (revision fbe95b885f3431b1d8003545b32e8ffa88f2d16b)
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