blob: 11736372b66701ad261de4281403ec40b2b9593c (
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
|
PORTNAME= SLICOT
PORTVERSION= 5.9
PORTREVISION= 1
DISTVERSIONPREFIX= v
CATEGORIES= math
MAINTAINER= thierry@FreeBSD.org
COMMENT= Fortran subroutines library for systems and control
WWW= https://slicot.org/
LICENSE= BSD3CLAUSE
USE_GITHUB= yes
GH_PROJECT= SLICOT-Reference
USES= blaslapack:openblas fortran
BINARY_ALIAS= gfortran=${FC}
FFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
MAKEFILE= makefile_Unix
MAKE_ENV= FORTRAN=${FC} OPTS="${FFLAGS} -fPIC" LOADER=${FC} \
LOADOPTS="${WRKSRC}/slicot.a ${WRKSRC}/lpkaux.a ${LDFLAGS} ${BLASLIB} ${LAPACKLIB}"
MAKE_JOBS_UNSAFE=yes
USE_LDCONFIG= yes
OPTIONS_DEFINE= DOCS EXAMPLES
PORTDOCS= *
post-build:
(cd ${WRKSRC} && \
${CP} slicot.a libslicot.a && \
${FC} ${LDFLAGS} -shared -Wl,-soname=libslicot.so.0 \
-o libslicot.so.0.0 src/*.o ${BLASLIB} ${LAPACKLIB} && \
${LN} -sf libslicot.so.0.0 libslicot.so.0 && \
${LN} -sf libslicot.so.0.0 libslicot.so)
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/lib
${INSTALL_DATA} ${WRKSRC}/libslicot.a ${STAGEDIR}${PREFIX}/lib
${INSTALL_LIB} ${WRKSRC}/libslicot.so.0.0 ${STAGEDIR}${PREFIX}/lib
${RLN} ${STAGEDIR}${PREFIX}/lib/libslicot.so.0.0 \
${STAGEDIR}${PREFIX}/lib/libslicot.so
${RLN} ${STAGEDIR}${PREFIX}/lib/libslicot.so.0.0 \
${STAGEDIR}${PREFIX}/lib/libslicot.so.0
do-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
.for f in README.md libindex.html
${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR}
.endfor
cd ${WRKSRC} && ${COPYTREE_SHARE} doc ${STAGEDIR}${DOCSDIR}
do-install-EXAMPLES-on:
${FIND} ${WRKSRC}/examples -name "T*" -a ! -name "*\.*" | \
${XARGS} ${STRIP_CMD}
${RM} ${WRKSRC}/examples/*.o ${WRKSRC}/../examples/makefile.bak \
${WRKSRC}/examples/makefile.orig
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
cd ${WRKSRC}/examples && \
${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
.include <bsd.port.mk>
|