]>
Commit | Line | Data |
---|---|---|
1 | # | |
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 | |
9 | # | |
10 | ||
11 | version= $(shell sh get-version.sh) | |
12 | ||
13 | CC?= gcc | |
14 | CFLAGS?= -O -pipe | |
15 | LDADD?= -lssl -lcrypto -lresolv | |
16 | ||
17 | CFLAGS+= -Wall -DDMA_VERSION='"${version}"' | |
18 | ||
19 | INSTALL?= install -p | |
20 | CHGRP?= chgrp | |
21 | CHMOD?= chmod | |
22 | ||
23 | PREFIX?= /usr/local | |
24 | SBIN?= ${PREFIX}/sbin | |
25 | CONFDIR?= /etc | |
26 | MAN?= ${PREFIX}/share/man | |
27 | VAR?= /var | |
28 | DMASPOOL?= ${VAR}/spool/dma | |
29 | VARMAIL?= ${VAR}/mail | |
30 | ||
31 | YACC?= yacc | |
32 | LEX?= lex | |
33 | ||
34 | OBJS= aliases_parse.o aliases_scan.o base64.o conf.o crypto.o | |
35 | OBJS+= dma.o dns.o local.o mail.o net.o spool.o util.o | |
36 | OBJS+= dfcompat.o | |
37 | ||
38 | all: dma | |
39 | ||
40 | clean: | |
41 | -rm -f .depend dma *.[do] | |
42 | -rm -f aliases_parse.[ch] aliases_scan.c | |
43 | ||
44 | install: all | |
45 | ${INSTALL} -d ${DESTDIR}${SBIN} ${DESTDIR}${CONFDIR} | |
46 | ${INSTALL} -d ${DESTDIR}${MAN}/man8 | |
47 | ${INSTALL} -m 2755 -o root -g mail dma ${DESTDIR}${SBIN} | |
48 | ${INSTALL} -m 0644 dma.8 ${DESTDIR}${MAN}/man8/ | |
49 | ${INSTALL} -d -m 2775 -o root -g mail ${DESTDIR}${DMASPOOL} | |
50 | ${INSTALL} -d -m 2775 -o root -g mail ${DESTDIR}${VARMAIL} | |
51 | ||
52 | permissions: | |
53 | -${CHGRP} mail ${DESTDIR}${VARMAIL}/* | |
54 | -${CHMOD} g+w ${DESTDIR}${VARMAIL}/* | |
55 | ||
56 | aliases_parse.c: aliases_parse.y | |
57 | ${YACC} -d -o aliases_parse.c aliases_parse.y | |
58 | ||
59 | aliases_scan.c: aliases_scan.l | |
60 | ${LEX} -t aliases_scan.l > aliases_scan.c | |
61 | ||
62 | .SUFFIXES: .c .o | |
63 | ||
64 | .c.o: | |
65 | ${CC} ${CFLAGS} ${CPPFLAGS} -include dfcompat.h -o $@ -c $< | |
66 | ||
67 | dma: ${OBJS} | |
68 | ${CC} ${LDFLAGS} ${LDADD} -o $@ ${OBJS} | |
69 | ||
70 | ||
71 | ppa: | |
72 | @if [ -z '${DEB_DIST}' ]; then echo "please set DEB_DIST to build"; exit 1; fi | |
73 | ver=$$(sh get-version.sh | sed -Ee 's/^v//;s/[.]([[:digit:]]+)[.](g[[:xdigit:]]+)$$/+\1-\2/'); \ | |
74 | dch -v "$$ver~${DEB_DIST}" -D ${DEB_DIST} "${DEB_DIST} build" | |
75 | debuild -S -sa | |
76 | ver=$$(dpkg-parsechangelog -n1 | awk '$$1 == "Version:" { print $$2 }'); \ | |
77 | dput ppa:corecode/dma ../$${ver}_source.changes |