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