]> git.ipfire.org Git - people/ms/dma.git/blob - Makefile
add ppa makefile recipe
[people/ms/dma.git] / Makefile
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