]> git.ipfire.org Git - people/ms/dma.git/blame - Makefile
local: use space instead of tab in "From " separator
[people/ms/dma.git] / Makefile
CommitLineData
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
11SH?= sh
12
13version= $(shell ${SH} get-version.sh)
14debversion= $(shell ${SH} get-version.sh | sed -Ee 's/^v//;s/[.]([[:digit:]]+)[.](g[[:xdigit:]]+)$$/+\1+\2/')
d062346c 15
f8352d61
SS
16CC?= gcc
17CFLAGS?= -O -pipe
18LDADD?= -lssl -lcrypto -lresolv
19
d84c3daa 20CFLAGS+= -Wall -DDMA_VERSION='"${version}"' -DLIBEXEC_PATH='"${LIBEXEC}"' -DCONF_PATH='"${CONFDIR}"'
4f5584b3 21
f8352d61 22INSTALL?= install -p
350685ee
SS
23CHGRP?= chgrp
24CHMOD?= chmod
25
f8352d61
SS
26PREFIX?= /usr/local
27SBIN?= ${PREFIX}/sbin
c1ebccb4 28LIBEXEC?= ${PREFIX}/lib
d84c3daa 29CONFDIR?= /etc/dma
f8352d61 30MAN?= ${PREFIX}/share/man
350685ee
SS
31VAR?= /var
32DMASPOOL?= ${VAR}/spool/dma
33VARMAIL?= ${VAR}/mail
8b503e7e 34SYMLINK?= -s # or empty to create hard link
f8352d61
SS
35
36YACC?= yacc
37LEX?= lex
8b503e7e 38LN?= ln
f8352d61
SS
39
40OBJS= aliases_parse.o aliases_scan.o base64.o conf.o crypto.o
41OBJS+= dma.o dns.o local.o mail.o net.o spool.o util.o
42OBJS+= dfcompat.o
43
c1ebccb4 44all: dma dma-mbox-create
f8352d61
SS
45
46clean:
c1ebccb4 47 -rm -f .depend dma dma-mbox-create *.[do]
f8352d61 48 -rm -f aliases_parse.[ch] aliases_scan.c
c342b76d 49
f8352d61 50install: 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
57sendmail-link:
58 cd ${DESTDIR}${SBIN} && ${LN} ${SYMLINK} dma sendmail
59
0c68af77
SS
60mailq-link:
61 cd ${DESTDIR}${SBIN} && ${LN} ${SYMLINK} dma mailq
62
c342b76d
SS
63install-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 67permissions:
350685ee
SS
68 -${CHGRP} mail ${DESTDIR}${VARMAIL}/*
69 -${CHMOD} g+w ${DESTDIR}${VARMAIL}/*
3f9fdc0f 70 -${CHMOD} 660 ${DESTDIR}${DMASPOOL}/flush
86e4d161 71
d84c3daa
SS
72install-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
87aliases_parse.c: aliases_parse.y
88 ${YACC} -d -o aliases_parse.c aliases_parse.y
86e4d161 89
f8352d61
SS
90aliases_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 98dma: ${OBJS}
d6424680 99 ${CC} ${LDFLAGS} -o $@ ${OBJS} ${LDADD}
d511b674
SS
100
101
c1ebccb4
SS
102dch:
103 dch --release-heuristic changelog -v ${debversion}
104
105
d511b674
SS
106ppa:
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