aboutsummaryrefslogtreecommitdiff
path: root/math/arpack++/Makefile
blob: 9196af912c077ce0c41a73ce03f52641c675ab6e (plain) (blame)
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
# Created by: thierry@pompo.net
# $FreeBSD$

PORTNAME=	arpack++
PORTVERSION=	2.3.0
PORTREVISION=	1
CATEGORIES=	math

MAINTAINER=	ports@FreeBSD.org
COMMENT=	ARPACK++ is an object-oriented version of the ARPACK package

LICENSE=	BSD3CLAUSE
LICENSE_FILE=	${WRKSRC}/LICENSE

LIB_DEPENDS=	libarpack.so:math/arpack-ng \
		libsuperlu.so:math/superlu \
		libumfpack.so:math/suitesparse

.if exists(${LOCALBASE}/lib/libatlas.so) && !defined(WITH_BLAS)
WITH_ATLAS=	yes
.endif
.if defined(WITH_ATLAS)
LIB_DEPENDS+=	libatlas.so:math/atlas
BLAS=		-lf77blas
LAPACK=		-lalapack -lcblas
.else
LIB_DEPENDS+=	liblapack.so:math/lapack
LIB_DEPENDS+=	libblas.so:math/blas
BLAS=		-lblas
LAPACK=		-llapack
.endif

USE_GITHUB=	yes
GH_ACCOUNT=	m-reuter
GH_PROJECT=	arpackpp

USES=		fortran gmake localbase

NO_BUILD=	yes
NO_ARCH=	yes

REINPLACE_ARGS=	-i ""

DOCS=		README.md doc/README doc/arpackpp.pdf doc/structure.txt

OPTIONS_DEFINE=	DOCS EXAMPLES

PORTDOCS=	*
PORTEXAMPLES=	*

pre-configure:
	${REINPLACE_CMD} -e "s|%%LOCALBASE%%|${LOCALBASE}|g"	\
		-e "s|%%BLAS%%|${BLAS}|"			\
		-e "s|%%PREFIX%%|${PREFIX}|" ${WRKSRC}/Makefile.inc
	${FIND} ${WRKSRC}/examples -name Makefile |	\
	${XARGS} ${REINPLACE_CMD} -e 's|$$(ARPACKPP_DIR)/examples|${EXAMPLESDIR}|'

do-install:
	@${MKDIR} ${STAGEDIR}${PREFIX}/include/ARPACK++
	for inc in `${LS} ${WRKSRC}/include` ; do \
		${INSTALL_DATA} ${WRKSRC}/include/$$inc ${STAGEDIR}${PREFIX}/include/ARPACK++; \
	done

do-install-DOCS-on:
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
.for doc in ${DOCS}
	${INSTALL_DATA} ${WRKSRC}/${doc} ${STAGEDIR}${DOCSDIR}
.endfor
	@${ECHO_MSG} "===> Documentation installed in ${DOCSDIR}."

do-install-EXAMPLES-on:
	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
	${INSTALL_DATA} ${WRKSRC}/Makefile.inc ${STAGEDIR}${EXAMPLESDIR}
	${CP} -R ${WRKSRC}/examples/* ${STAGEDIR}${EXAMPLESDIR}
	@${ECHO_MSG} "===> Examples installed in ${EXAMPLESDIR}."

.if defined(MAINTAINER_MODE)
test:	install
	for sample in `${FIND} ${WRKSRC}/examples -name Makefile` ; do \
		(cd `dirname $$sample` ; \
		${ECHO_MSG} "============" ; \
		${ECHO_MSG} "*** Entering `pwd`" ; \
		${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} \
		|| ${TRUE}) ; \
	done
	@${ECHO_MSG} "============"
	@${ECHO_MSG} "Failures expected in umfpack/complex, umfpack/nonsym & umfpack/sym"
	@${ECHO_MSG} "(UM*2FA -> umfpack_*_numeric)."
	@${ECHO_MSG}
.endif

.include <bsd.port.mk>