1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-05 06:27:37 +00:00
freebsd-ports/net-mgmt/nfdump/Makefile
2021-04-06 16:31:07 +02:00

169 lines
4.5 KiB
Makefile

# Created by: Janos.Mohacsi@bsd.hu
PORTNAME= nfdump
PORTVERSION= 1.6.20
PORTREVISION= 1
DISTVERSIONPREFIX=v
CATEGORIES= net-mgmt
MAINTAINER= pi@FreeBSD.org
COMMENT= Command-line tools to collect and process NetFlow data
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/BSD-license.txt
USES= autoreconf compiler:c11 libtool pkgconfig
USE_CSTD= gnu89
USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= phaag
GNU_CONFIGURE= yes
MAKE_JOBS_UNSAFE= yes
#flow-tools support
OPTIONS_DEFINE= DOCS FT2NFDUMP NFPROFILE FIXTIMEBUG READPCAP NFTRACK \
SFLOW NFPCAPD NFDUMP15 NSEL INFLUXDB
OPTIONS_DEFAULT= NFPROFILE
FT2NFDUMP_DESC= With Flow-tools to nfdump converter
NFPROFILE_DESC= With nfprofile (nfsen requires it)
FIXTIMEBUG_DESC= With fixing swap time bug of some v5
READPCAP_DESC= With pcap support
NFTRACK_DESC= With PortTracker support
SFLOW_DESC= Build sflow collector daemon also
NFPCAPD_DESC= Build nfpcapd collector daemon also
NFDUMP15_DESC= Enable compatibility with version 1.5
NSEL_DESC= Read and process ASA/NSEL/NEL event data
INFLUXDB_DESC= Enable stats to InfluxDB
post-patch:
${REINPLACE_CMD} 's|-ggdb||' ${WRKSRC}/bin/Makefile.am
.include <bsd.port.options.mk>
#for compatibility
#
.if ${PORT_OPTIONS:MNFDUMP15}
CONFIGURE_ARGS+= --enable-compat15
.else
CONFIGURE_ARGS+= --disable-compat15
.endif
.if ${PORT_OPTIONS:MNSEL}
CONFIGURE_ARGS+= --enable-nsel
.else
CONFIGURE_ARGS+= --disable-nsel
.endif
PLIST_FILES= bin/nfanon bin/nfcapd bin/nfdump bin/nfexpire bin/nfreplay \
lib/libnfdump-${PORTVERSION}.so \
man/man1/nfanon.1.gz man/man1/nfcapd.1.gz man/man1/nfdump.1.gz \
man/man1/nfexpire.1.gz man/man1/nfreplay.1.gz
PORTDOCS= AUTHORS ChangeLog INSTALL NEWS README
.if ${PORT_OPTIONS:MFIXTIMEBUG}
CONFIGURE_ARGS+= --enable-fixtimebug
.else
CONFIGURE_ARGS+= --disable-fixtimebug
.endif
.if ${PORT_OPTIONS:MNFPROFILE}
CONFIGURE_ARGS+= --enable-nfprofile
PLIST_FILES+= bin/nfprofile man/man1/nfprofile.1.gz
.else
CONFIGURE_ARGS+= --disable-nfprofile
.endif
.if ${PORT_OPTIONS:MNFTRACK}
CONFIGURE_ARGS+= --enable-nftrack
PLIST_FILES+= bin/nftrack
.else
CONFIGURE_ARGS+= --disable-nftrack
.endif
.if ${PORT_OPTIONS:MNFPROFILE} || ${PORT_OPTIONS:MNFTRACK}
CONFIGURE_ARGS+= --with-rrdpath=${LOCALBASE}
BUILD_DEPENDS+= rrdtool:databases/rrdtool
RUN_DEPENDS+= rrdtool:databases/rrdtool
.endif
#flow-tools support
.if ${PORT_OPTIONS:MFT2NFDUMP}
BUILD_DEPENDS+= flow-cat:net-mgmt/flow-tools
LIB_DEPENDS+= libft.so:net-mgmt/flow-tools
CONFIGURE_ARGS+= --enable-ftconv --with-ftpath=${LOCALBASE}
PLIST_FILES+= bin/ft2nfdump man/man1/ft2nfdump.1.gz
.endif
.if ${PORT_OPTIONS:MREADPCAP}
CONFIGURE_ARGS+= --enable-readpcap
LIB_DEPENDS+= libpcap.so:net/libpcap
.else
CONFIGURE_ARGS+= --disable-readpcap
.endif
#sflow capture support
.if ${PORT_OPTIONS:MSFLOW}
CONFIGURE_ARGS+= --enable-sflow
PLIST_FILES+= bin/sfcapd man/man1/sfcapd.1.gz
.else
CONFIGURE_ARGS+= --disable-sflow
.endif
#nfpcapd capture support
.if ${PORT_OPTIONS:MNFPCAPD}
CONFIGURE_ARGS+= --enable-nfpcapd
PLIST_FILES+= bin/nfpcapd man/man1/nfpcapd.1.gz
.else
CONFIGURE_ARGS+= --disable-nfpcapd
.endif
#influxdb support
.if ${PORT_OPTIONS:MINFLUXDB}
CONFIGURE_ARGS+= --enable-influxdb
LIB_DEPENDS+= libcurl.so:ftp/curl
.else
CONFIGURE_ARGS+= --disable-influxdb
.endif
do-install:
.for binary in nfanon nfcapd nfdump nfexpire nfreplay
${INSTALL_PROGRAM} ${WRKSRC}/bin/.libs/${binary} ${STAGEDIR}${PREFIX}/bin
.endfor
${INSTALL_LIB} ${WRKSRC}/bin/.libs/libnfdump-${PORTVERSION}.so ${STAGEDIR}${PREFIX}/lib
.if ${PORT_OPTIONS:MNFPROFILE}
${INSTALL_PROGRAM} ${WRKSRC}/bin/.libs/nfprofile ${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/man/nfprofile.1 ${STAGEDIR}${PREFIX}/man/man1
.endif
.if ${PORT_OPTIONS:MNFTRACK}
${INSTALL_PROGRAM} ${WRKSRC}/bin/.libs/nftrack ${STAGEDIR}${PREFIX}/bin
.endif
.if ${PORT_OPTIONS:MFT2NFDUMP}
${INSTALL_PROGRAM} ${WRKSRC}/bin/.libs/ft2nfdump ${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/man/ft2nfdump.1 ${STAGEDIR}${PREFIX}/man/man1
.endif
.if ${PORT_OPTIONS:MSFLOW}
${INSTALL_PROGRAM} ${WRKSRC}/bin/.libs/sfcapd ${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/man/sfcapd.1 ${STAGEDIR}${PREFIX}/man/man1
.endif
.if ${PORT_OPTIONS:MNFPCAPD}
${INSTALL_PROGRAM} ${WRKSRC}/bin/.libs/nfpcapd ${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/man/nfpcapd.1 ${STAGEDIR}${PREFIX}/man/man1
.endif
.for filename in nfanon nfdump nfcapd nfexpire nfreplay
${INSTALL_MAN} ${WRKSRC}/man/${filename}.1 ${STAGEDIR}${PREFIX}/man/man1
.endfor
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>