summaryrefslogtreecommitdiff
path: root/math/primme/Makefile
blob: 0d4e3a9c7cb4a62ca930c10c7b7d01a9f4eec7b7 (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

PORTNAME=	primme
DISTVERSIONPREFIX=	v
DISTVERSION=	3.2
CATEGORIES=	math

MAINTAINER=	yuri@FreeBSD.org
COMMENT=	Iterative eigensolver for symmetric and hermitian matrices

LICENSE=	BSD3CLAUSE
LICENSE_FILE=	${WRKSRC}/COPYING.txt

TEST_DEPENDS=	gfortran${GCC_DEFAULT}:lang/gcc${GCC_DEFAULT}

USES=		gmake localbase:ldflags
USE_GITHUB=	yes
MAKEFILE=	makefile
ALL_TARGET=	solib
USE_LDCONFIG=	yes

BINARY_ALIAS=	make=${GMAKE}

CFLAGS+=	-fPIC
LDFLAGS+=	${LAPACKLIB} -lm

OPTIONS_RADIO=	LINALG
OPTIONS_RADIO_LINALG=	ATLAS GOTOBLAS NETLIB OPENBLAS
OPTIONS_DEFAULT=	OPENBLAS

LINALG_DESC=		Choose which linear algebra interface (LAPACK) implementation to use:

GOTOBLAS_DESC=		Goto blas implementation
ATLAS_USES=		blaslapack:atlas
GOTOBLAS_USES=		blaslapack:gotoblas
NETLIB_USES=		blaslapack:netlib
NETLIB_LDFLAGS=		-lblas # XXX why this isn't covered by blaslapack:netlib?
OPENBLAS_USES=		blaslapack:openblas

TEST_ENV=	${MAKE_ENV} LDFLAGS="-lm -Wl,-rpath=${LOCALBASE}/lib/gcc${GCC_DEFAULT} ${LOCALBASE}/lib/gcc${GCC_DEFAULT}/libgcc_s.so" \
		USE_MPI=no USE_PETSC=no PETSC_DIR=${LOCALBASE}
TEST_ARGS=	F77=gfortran${GCC_DEFAULT} FC=gfortran${GCC_DEFAULT} FLDR=gfortran${GCC_DEFAULT}
TEST_TARGET=	all_tests test

PLIST_FILES=	include/primme.h \
		include/primme_eigs.h \
		include/primme_eigs_f77.h \
		include/primme_eigs_f90.inc \
		include/primme_f77.h \
		include/primme_f90.inc \
		include/primme_svds.h \
		include/primme_svds_f77.h \
		include/primme_svds_f90.inc \
		lib/libprimme.so \
		lib/libprimme.so.3 \
		lib/libprimme.so.3.2

.include <bsd.port.mk>