1#	$NetBSD$
2
3.include <bsd.own.mk>
4
5USE_FORT?= yes	# network client and server
6CWARNFLAGS.clang+=	-Wno-empty-body -Wno-format-extra-args
7
8WARNS?=	0
9
10PFIX_DISTDIR=	${NETBSDSRCDIR}/external/ibm-public/postfix/dist
11
12CPPFLAGS+= -DNETBSD4 -DUSE_SASL_AUTH \
13	-I${DIST} \
14	-I${PFIX_DISTDIR}/src/dns -I${PFIX_DISTDIR}/src/global \
15	-I${PFIX_DISTDIR}/src/master -I${PFIX_DISTDIR}/src/util \
16	-I${PFIX_DISTDIR}/src/tls -I${PFIX_DISTDIR}/src/milter \
17	-I${PFIX_DISTDIR}/src/xsasl \
18	${${ACTIVE_CC} == "clang":?-Wno-comment:}
19
20CPPFLAGS+= -DUSE_SASL_AUTH
21CPPFLAGS+= -DDEF_SERVER_SASL_TYPE=\"dovecot\"
22
23.if (${MKCRYPTO} != "no")
24CPPFLAGS+= -DUSE_SASLC_SASL
25CPPFLAGS+= -DDEF_CLIENT_SASL_TYPE=\"saslc\"
26DPADD+= ${LIBSASCL} ${LIBSSL}
27LDADD+= -lsaslc -lssl
28. if (${MKKERBEROS} != "no")
29DPADD+= ${LIBGSSAPI}
30LDADD+= -lgssapi
31. endif
32.endif
33
34.if defined(HAVE_PCC)
35# code uses gcc-specific aggregate dynamic array
36CPPFLAGS+=	-DCANT_USE_SEND_RECV_MSG
37.endif
38
39# TLS support.
40.if ${MKCRYPTO} != "no"
41CPPFLAGS+=	-DUSE_TLS
42.endif
43
44# IPv6 support.
45.if ${MKINET6} == "no"
46CPPFLAGS+=	-DNO_IPV6
47.endif
48
49# SQLite support.
50CPPFLAGS+=	-DHAS_SQLITE
51. if defined(PROG)
52DPADD+=		${LIBSQLITE3}
53LDADD+=		-lsqlite3
54.endif
55
56# LDAP support.
57.if ${USE_LDAP} != "no"
58CPPFLAGS+=	-DHAS_LDAP
59
60# Automatically link in libldap for a program.
61. if defined(PROG)
62LDADD+=		-lldap
63DPADD+=		${LIBLDAP}
64.  if (${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != ""))
65LDADD+=		-llber
66DPADD+=		${LIBLBER}
67.   if ${MKCRYPTO} != "no" 
68DPADD+=		${LIBSSL} ${LIBCRYPTO}
69LDADD+=		-lssl -lcrypto
70.   endif
71.  endif
72. endif
73.endif # USE_LDAP != no
74
75PFIX_SRCDIR=	${NETBSDSRCDIR}/external/ibm-public/postfix
76PFIX_LIBSDIRS=	dns dns masterlib master global global util util \
77		milter milter xsasl xsasl
78
79.if ${MKCRYPTO} != "no" 
80PFIX_LIBSDIRS+=	tls tls
81.endif
82
83.for _LD _LL in	${PFIX_LIBSDIRS}
84.if !defined(POBJDIR.${_LL})
85POBJDIR.${_LL}!=cd ${PFIX_SRCDIR}/lib/${_LD} && ${PRINTOBJDIR}
86.MAKEOVERRIDES+=POBJDIR.${_LL}
87.endif
88LIBP${_LL:tu}=	${POBJDIR.${_LL}}/lib${_LL}.a
89.endfor
90
91
92# Directories to install into.
93#
94PFIX_LIBEXECDIR=/usr/libexec/postfix
95PFIX_ETCDIR=	/etc/postfix
96PFIX_EXAMPLEDIR=/usr/share/examples/postfix
97PFIX_HTMLDIR=	/usr/share/doc/html/postfix
98PFIX_SBINDIR=	/usr/sbin
99
100# override defaults which are otherwise empty and/or so postconf is correct
101CPPFLAGS+=	-DDEF_HTML_DIR=\"${PFIX_HTMLDIR}\" \
102		-DDEF_README_DIR=\"${PFIX_EXAMPLEDIR}\" \
103		-DDEF_SAMPLE_DIR=\"${PFIX_EXAMPLEDIR}\" \
104		-DDEF_MANPAGE_DIR=\"${MANDIR}\"
105
106# postfix check wants a lot of files to be owned by root
107BINOWN=	root
108