summaryrefslogtreecommitdiffstats
path: root/math/arpack-ng/Makefile
blob: ef3070da8c9fba55ae069e286cc1ebe60759c2b3 (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
# Created by: bf <bf@FreeBSD.org>
# $FreeBSD$

PORTNAME=	arpack-ng
PORTVERSION=	3.1.5
PORTREVISION=	2
CATEGORIES=	math
MASTER_SITES=	http://forge.scilab.org/index.php/p/arpack-ng/downloads/get/ \
		LOCAL/bf
DISTNAME=	${PORTNAME}_${PORTVERSION}

MAINTAINER=	bf@FreeBSD.org
COMMENT+=	Revised Argand library for solving large-scale eigenvalue problems

LICENSE=	BSD3CLAUSE

USES=		fortran libtool
USE_LDCONFIG=	yes

CONFLICTS=	arpack-[0-9]*
SLAVEDIRS=	math/arpack-ng-mpich

GNU_CONFIGURE=	yes

CONFIGURE_ARGS=	--with-blas="${BLAS}" \
		--with-lapack="${LAPACK}"
LDFLAGS+=	-L${LOCALBASE}/lib

WRKSRC=	${WRKDIR}/${PORTNAME}-${PORTVERSION}

OPTIONS_DEFINE=	DOCS MPI
OPTIONS_SUB=	yes
MPI_CONFIGURE_ENABLE=	mpi
MPI_LIB_DEPENDS=	libmpich.so.8:${PORTSDIR}/net/mpich2
MPI_CONFLICTS_INSTALL+=		arpack-ng-3.*
MPI_CONFLICTS_INSTALL_OFF+=	arpack-ng-mpich-3.*

.include <bsd.port.pre.mk>

.if ${PORT_OPTIONS:MMPI}
PKGNAMESUFFIX=	-mpich
.endif

WITH_BLAS?=	blas

.if ${WITH_BLAS} == "gotoblas"
BLAS=		-lgoto2p
LAPACK=		-lgoto2p
LIB_DEPENDS+=	libgoto2p.so:${PORTSDIR}/math/gotoblas
.elif ${WITH_BLAS} == "atlas"
BLAS=		-lptf77blas
LAPACK=		-lalapack -lptcblas
LIB_DEPENDS+=	libptf77blas.so:${PORTSDIR}/math/atlas
.elif ${WITH_BLAS} == "blas"
BLAS=		-lblas
LAPACK=		-llapack
LIB_DEPENDS+=	libblas.so:${PORTSDIR}/math/blas \
		liblapack.so:${PORTSDIR}/math/lapack
.else
IGNORE=		unknown value of WITH_BLAS: ${WITH_BLAS}
.endif

post-patch:
	@${REINPLACE_CMD} -Ee 's|\(libdir\)(/pkgconfig)|(prefix)/libdata\1|' \
	${WRKSRC}/Makefile.in
	@${REINPLACE_CMD} -e '/BLAS_LIBS.*LAPACK_LIBS/ \
	{s/LAPACK_LIBS/BLAS_LIBS/;s/BLAS_LIBS/LAPACK_LIBS/;}' \
	${WRKSRC}/Makefile.in \
	${WRKSRC}/arpack.pc.in \
	${WRKSRC}/TESTS/Makefile.in

post-build:
	@cd ${WRKSRC}/.libs; ${STRIP_CMD} libarpack.a libarpack.so.*.*

post-install:
.if ${PORT_OPTIONS:MDOCS}
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
	@cd ${WRKSRC}/DOCUMENTS && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR}
.endif

check regression-test test: build
	@cd ${WRKSRC}; ${DO_MAKE_BUILD} check

.include <bsd.port.post.mk>
OpenPOWER on IntegriCloud