summaryrefslogtreecommitdiff
path: root/mail/imap-uw/Makefile
blob: b228fae7449e621a924d5994c7160962c138f828 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# $NetBSD: Makefile,v 1.27 2001/02/17 18:24:48 wiz Exp $

DISTNAME=       imap-2000c
PKGNAME=        imap-uw-2000.0.3nb1
CATEGORIES=     mail
MASTER_SITES=	ftp://ftp.cac.washington.edu/imap/
EXTRACT_SUFX=	.tar.Z

MAINTAINER=	hubertf@netbsd.org
HOMEPAGE=	http://www.washington.edu/imap/
COMMENT=	University of Washington's IMAP, POP2, and POP3 servers

USE_LIBTOOL=	# defined
USE_SSL=	# defined
NO_CONFIGURE=	# defined

INST_PROG=	${LIBTOOL} ${INSTALL_PROGRAM}
INST_LIB=	${LIBTOOL} ${INSTALL_DATA}
INC_DIR=	${PREFIX}/include/c-client
LIB_DIR=	${PREFIX}/lib
DOC_DIR=	${PREFIX}/share/doc/imap-uw

.include "../../mk/bsd.prefs.mk"

.if ${OPSYS} == "SunOS"
ALL_TARGET=	gso
.else
ALL_TARGET=	neb
.endif

# CCLIENT_MBOX_FMT is the default format used by c-client programs for new
# mailbox creation.  Check the UW IMAP documentation for more details
# regarding the pros and cons of the various mailbox formats.
#
# Possible values: mbox, mbx, mh, mmdf, mtx, mx, news, phile, tenex, unix
# Default: unix
#
CCLIENT_MBOX_FMT?=	unix

CCLIENT_INCS=	c-client.h env.h env_unix.h flstring.h fs.h ftl.h	\
		imap4r1.h linkage.c linkage.h mail.h misc.h netmsg.h	\
		newsrc.h nl.h nntp.h osdep.h pop3.h rfc822.h smtp.h	\
		tcp.h utf8.h
CCLIENT_LIB=	libc-client.la
CCLIENT_PICLIB=	libc-client_pic.a
CCLIENT_LIBS=	libc-client.a libc-client.la libc-client.so		\
		libc-client.so.${CCLIENT_MAJOR}.${CCLIENT_MINOR}	\
		libc-client.so.${CCLIENT_MAJOR}
CCLIENT_MAJOR=	4
CCLIENT_MINOR=	1
CCLIENT_MFILES=	src/imapd/Makefile					\
		src/ipopd/Makefile					\
		src/mtest/Makefile					\
		src/osdep/unix/Makefile

PLIST_SUBST+=	CCLIENT_MAJOR="${CCLIENT_MAJOR}"
PLIST_SUBST+=	CCLIENT_MINOR="${CCLIENT_MINOR}"

MANFILES=	src/imapd/imapd.8c src/ipopd/ipopd.8c

MAKE_ENV+=	SSLDIR="${SSLBASE}"
MAKE_ENV+=	SSLCERTS="${SSLCERTS}"
MAKE_ENV+=	CCLIENT_MAJOR="${CCLIENT_MAJOR}"
MAKE_ENV+=	CCLIENT_MINOR="${CCLIENT_MINOR}"
MAKE_ENV+=	CREATEPROTO=${CCLIENT_MBOX_FMT}proto

ALL_TARGET+=	CC="${LIBTOOL} ${CC}"
ALL_TARGET+=	EXTRACFLAGS="${CFLAGS}"
ALL_TARGET+=	SPECIALAUTHENTICATORS="ssl"

post-extract:
	#
	# Change references to the built library to ${CCLIENT_LIB}.
	#
	cd ${WRKSRC}; for file in ${CCLIENT_MFILES}; do			\
		${MV} -f $${file} $${file}.orig;			\
		${SED}	-e "s|c-client.a|${CCLIENT_LIB}|g"		\
			$${file}.orig > $${file};			\
		${RM} -f $${file}.orig;					\
	done
	#
	# Correct hardcoded paths in man pages.
	#
	cd ${WRKSRC}; for file in ${MANFILES}; do			\
		f=`echo $${file} | ${SED} "s|\(.*\)\.\([0-9]\).*|\1.\2|"`; \
		${SED}	-e "s|/usr/etc/imapd|${PREFIX}/libexec/imapd|g"	\
			-e "s|/etc/rimapd|${PREFIX}/sbin/rimapd|g"	\
			-e "s|/usr/etc/ipop2d|${PREFIX}/libexec/ipop2d|g" \
			-e "s|/usr/etc/ipop3d|${PREFIX}/libexec/ipop3d|g" \
			$${file} > $${f};				\
	done

post-build:
	${MKDIR} ${WRKDIR}/piclib
	cd ${WRKDIR}/piclib;						\
	for file in ${WRKSRC}/c-client/*.lo; do				\
		base=`basename $${file} .lo`;				\
		${LN} -sf $${file} $${base}.o;				\
	done;								\
	${RM} -f ${CCLIENT_PICLIB};					\
	${AR} cru ${CCLIENT_PICLIB} *.o;				\
	${RANLIB} ${CCLIENT_PICLIB}

do-install:
	${INSTALL_DATA_DIR} ${INC_DIR}
	cd ${WRKSRC}/c-client; ${INSTALL_DATA} ${CCLIENT_INCS} ${INC_DIR}
	${INST_LIB} ${WRKSRC}/c-client/${CCLIENT_LIB} ${LIB_DIR}
	cd ${LIB_DIR}; for file in ${CCLIENT_LIBS}; do			\
		f=`echo $${file} | ${SED} "s|libc-client|libimapuw|g"`;	\
		[ -f $${file} ] && ${LN} -sf $${file} $${f};		\
	done
	${INSTALL_DATA} ${WRKDIR}/piclib/${CCLIENT_PICLIB} ${LIB_DIR}
	${RANLIB} ${LIB_DIR}/${CCLIENT_PICLIB}
	${INST_PROG} ${WRKSRC}/imapd/imapd ${PREFIX}/libexec
	${INST_PROG} ${WRKSRC}/ipopd/ipop2d ${PREFIX}/libexec
	${INST_PROG} ${WRKSRC}/ipopd/ipop3d ${PREFIX}/libexec
	${INST_PROG} ${WRKSRC}/mtest/mtest ${PREFIX}/sbin
	${LN} -sf ../../libexec/imapd ${PREFIX}/sbin/rimapd
	${INSTALL_MAN} ${WRKSRC}/src/imapd/imapd.8 ${PREFIX}/man/man8
	${INSTALL_MAN} ${WRKSRC}/src/ipopd/ipopd.8 ${PREFIX}/man/man8
	${LN} -sf ipopd.8 ${PREFIX}/man/man8/ipop2d.8
	${LN} -sf ipopd.8 ${PREFIX}/man/man8/ipop3d.8
	${CP} -R ${WRKSRC}/docs ${DOC_DIR}
	${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${DOC_DIR}
	${CHMOD} -R a=rX ${DOC_DIR}

.include "../../mk/bsd.pkg.mk"