freebsd-ports/mail/libspf/Makefile
2004-06-19 09:21:28 +00:00

110 lines
3.2 KiB
Makefile

# New ports collection makefile for: libspf
# Date created: 28 February 2004
# Whom: Daniel Roethlisberger <daniel@roe.ch>
#
# $FreeBSD$
#
PORTNAME= libspf
PORTVERSION= 0.25.b
CATEGORIES= mail
MASTER_SITES= http://www.libspf.org/files/
DISTNAME= ${PORTNAME}.${PORTVERSION}eta
MAINTAINER= daniel@roe.ch
COMMENT= Sender Policy Framework (SPF) library and client
# Require getopt_long_only - USE_GETOPT_LONG is *not* sufficient
LIB_DEPENDS= gnugetopt.1:${PORTSDIR}/devel/libgnugetopt
USE_BZIP2= yes
WRKSRC= ${WRKDIR}/${PORTNAME}.25
USE_GMAKE= yes
USE_REINPLACE= yes
INSTALLS_SHLIB= yes
LIBSPF_REV= 1
PLIST_SUB= PORTNAME=${PORTNAME} LIBSPF_REV=${LIBSPF_REV}
MAKE_ENV= CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib -L${WRKSRC}"
# Supported tunables:
#
# WITH_SPF_LOG_FILE=/foo/bar enable transaction logfile (if unset: no log)
# WITH_SPF_DEBUG=yes enable debugging
# WITH_SPF_DEBUG_FILE=/foo/baz enable debug logfile (if unset: stdout/stderr)
.if defined(WITH_SPF_LOG_FILE)
SPF_LOG_FILE= ${WITH_SPF_LOG_FILE}
.else
SPF_LOG_FILE= /dev/null
.endif
.if defined(WITH_SPF_DEBUG)
SPF_CFLAGS= -ggdb -DDEBUG -D_SPF_DEBUG
.if defined(WITH_SPF_DEBUG_FILE)
SPF_CFLAGS+= -D_SPF_DEBUG_LOGFILE
.endif
.endif
.if defined(WITH_SPF_DEBUG_FILE)
SPF_DEBUG_FILE= ${WITH_SPF_DEBUG_FILE}
.else
SPF_DEBUG_FILE= /dev/null
.endif
SPF_CFLAGS+= -DDEBUG_LOG_FILE=\\\"${SPF_DEBUG_FILE}\\\" \
-DOUTPUT_LOG_FILE=\\\"${SPF_LOG_FILE}\\\"
.include <bsd.port.pre.mk>
.if ${ARCH} == "amd64"
BROKEN= "Does not compile on amd64"
.endif
# This is all a bit messy, but given the inconvenient original Makefile,
# this seems to be the best way to make this port work in this version.
# The author of libspf is working on autotools support, so this ugliness
# should have an end soon.
post-patch:
@${REINPLACE_CMD} \
-e 's,^CFLAGS:=.*,CFLAGS+=-Wall -D_BSD_SOURCE ${SPF_CFLAGS},' \
-e 's/^CPPFLAGS:=/#CPPFLAGS:=/' \
-e 's/^LDFLAGS:=/#LDFLAGS:=/' \
-e 's/make/gmake/g' \
-e 's/-lresolv//g' \
-e 's/libspf.a : -lc/libspf.a :/g' \
-e 's/libspf\.so\.1\.0\.1/libspf.so.${LIBSPF_REV}/g' \
-e 's/-soname,libspf\.so\.1/-soname,libspf.so.${LIBSPF_REV}/g' \
${WRKSRC}/Makefile
@${REINPLACE_CMD} \
-e 's/^CFLAGS:=/#CFLAGS:=/' \
-e 's/^CPPFLAGS:=/#CPPFLAGS:=/' \
-e 's/^LDFLAGS:=/#LDFLAGS:=/' \
-e 's/make/gmake/g' \
-e 's/\(-o spfquery ..\)/\1 -lgnugetopt/g' \
-e 's/-o spfquery/-o spfquery-${PORTNAME}/g' \
${WRKSRC}/tools/Makefile
@${REINPLACE_CMD} \
-e 's/#include "error.h"//' \
${WRKSRC}/main.c ${WRKSRC}/dns.c
@${REINPLACE_CMD} \
-e 's,\(#define DEBUG_LOG_FILE.*\),/* \1 */,' \
-e 's,\(#define OUTPUT_LOG_FILE.*\),/* \1 */,' \
${WRKSRC}/util.h
@${REINPLACE_CMD} \
-e 's/spfquery /spfquery-${PORTNAME} /' \
${WRKSRC}/tools/spfquery.c
post-build:
@(cd ${WRKSRC}/tools; ${SETENV} ${MAKE_ENV} ${GMAKE} shared )
do-install:
${INSTALL_DATA} ${WRKSRC}/spf.h ${PREFIX}/include
${INSTALL_DATA} ${WRKSRC}/libspf.a ${PREFIX}/lib
${INSTALL_DATA} ${WRKSRC}/libspf.so.${LIBSPF_REV} ${PREFIX}/lib
(cd ${PREFIX}/lib ; ${LN} -sf libspf.so.${LIBSPF_REV} libspf.so)
${INSTALL_PROGRAM} ${WRKSRC}/tools/spfquery-${PORTNAME} ${PREFIX}/bin
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>