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