1PORTNAME= spooles 2PORTVERSION= 2.2 3PORTREVISION= 17 4CATEGORIES= math 5MASTER_SITES= NETLIB/linalg/spooles 6.ifdef WITH_MPI 7PKGNAMESUFFIX= -mpich 8.endif 9DISTNAME= ${PORTNAME}.${PORTVERSION} 10DIST_SUBDIR= spooles 11EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} 12 13MAINTAINER= bofh@FreeBSD.org 14COMMENT= SParse Object Oriented Linear Equations Solver 15WWW= https://www.netlib.org/linalg/spooles/spooles.2.2.html 16 17LICENSE= publicdom 18 19.if defined(WITH_MPI) 20LIB_DEPENDS= libmpich.so:net/mpich 21.endif 22 23USES= gmake tar:tgz 24 25.if defined(WITH_MPI) 26CONFLICTS= spooles-2* 27PLIST_SUB= MPI="" MT="@comment " 28.else 29CONFLICTS= spooles-mpich-2* 30PLIST_SUB= MPI="@comment " MT="" 31.endif 32 33OPTIONS_DEFINE= DOCS 34 35DOCS_DISTFILES= ${DISTNAME}${EXTRACT_SUFX} AllInOne.ps.gz Eigen.ps.gz \ 36 Install.ps.gz LinSol.ps.gz Ordering.ps.gz \ 37 PP99.ps.gz ReferenceManual.ps.gz 38 39PICFLAG?= -fpic 40 41.include <bsd.port.pre.mk> 42 43.if ${OPSYS} == FreeBSD 44CFLAGS+= -Wno-error=int-conversion 45.endif 46 47.SILENT: 48 49pre-everything:: 50.if !defined(WITH_MPI) 51 ${ECHO_MSG} "make WITH_MPI=yes for mpich version" 52.endif 53 54do-extract: 55 ${MKDIR} ${WRKSRC} ; cd ${WRKSRC} ; ${TAR} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/${DISTNAME}${EXTRACT_SUFX} ${EXTRACT_AFTER_ARGS} 56 57post-patch: 58 ${MKDIR} ${WRKSRC}_SHARED ; ${CP} -r ${WRKSRC}/* ${WRKSRC}_SHARED 59 @${REINPLACE_CMD} -e 's+%%LOCALBASE%%+${LOCALBASE}+g;' \ 60 -e 's+%%CFLAGS%%+${CFLAGS}+g;' \ 61 -e 's+%%CC%%+${CC}+g;' ${WRKSRC}/Make.inc 62 @${REINPLACE_CMD} -e 's+%%LOCALBASE%%+${LOCALBASE}+g;' \ 63 -e 's+%%CFLAGS%%+${CFLAGS} ${PICFLAG}+g;' \ 64 -e 's+%%CC%%+${CC}+g;' ${WRKSRC}_SHARED/Make.inc 65 66do-build: 67.if defined(WITH_MPI) 68 @(cd ${WRKSRC}/MPI/src ; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -f makeGlobalLib) 69 @(cd ${WRKSRC}_SHARED/MPI/src; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -f makeGlobalLib) 70 @(cd ${WRKSRC}_SHARED ; ld -Bshareable -o libspooles.so.1 -x -soname libspooles.so.1 --whole-archive spooles.a ) 71 72.else 73 @(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} global -f makefile) 74 @(cd ${WRKSRC}/MT/src; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -f makeGlobalLib) 75 @(cd ${WRKSRC}_SHARED; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} global -f makefile) 76 @(cd ${WRKSRC}_SHARED/MT/src; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -f makeGlobalLib) 77 @(cd ${WRKSRC}_SHARED ; ld -Bshareable -o libspooles.so.1 -x -soname libspooles.so.1 --whole-archive spooles.a ) 78.endif 79 80do-install: 81 ${MKDIR} ${STAGEDIR}${PREFIX}/include/spooles 82 ${INSTALL_DATA} ${WRKSRC}/spooles.a ${STAGEDIR}${PREFIX}/lib/libspooles.a 83 ${INSTALL_DATA} ${WRKSRC}_SHARED/libspooles.so.1 ${STAGEDIR}${PREFIX}/lib 84 ${LN} -sf libspooles.so.1 ${STAGEDIR}${PREFIX}/lib/libspooles.so 85 86.if defined(WITH_MPI) 87 ${MKDIR} ${STAGEDIR}${PREFIX}/include/spooles/MPI 88 ${INSTALL_DATA} ${WRKSRC}/MPI/*.h ${STAGEDIR}${PREFIX}/include/spooles/MPI 89.else 90 ${MKDIR} ${STAGEDIR}${PREFIX}/include/spooles/MT 91 ${INSTALL_DATA} ${WRKSRC}/MT/*.h ${STAGEDIR}${PREFIX}/include/spooles/MT 92.endif 93 ${INSTALL_DATA} ${WRKSRC}/*.h ${STAGEDIR}${PREFIX}/include/spooles/ 94.for i in A2 BPG Chv ChvList ChvManager Coords DenseMtx DSTree Drand \ 95 DV ETree FrontMtx GPart Graph I2Ohash IIheap IV IVL Ideq InpMtx \ 96 Lock MSMD PatchAndGoInfo Pencil SolveMap SubMtx SubMtxList SubMtxManager \ 97 SymbFac Tree Utilities ZV misc 98 ${MKDIR} ${STAGEDIR}${PREFIX}/include/spooles/${i} 99 ${INSTALL_DATA} ${WRKSRC}/${i}/*.h ${STAGEDIR}${PREFIX}/include/spooles/${i} 100.endfor 101 102do-install-DOCS-on: 103 @${MKDIR} ${STAGEDIR}${DOCSDIR} 104 ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/AllInOne.ps.gz ${STAGEDIR}${DOCSDIR} 105 ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/Eigen.ps.gz ${STAGEDIR}${DOCSDIR} 106 ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/Install.ps.gz ${STAGEDIR}${DOCSDIR} 107 ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/LinSol.ps.gz ${STAGEDIR}${DOCSDIR} 108 ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/Ordering.ps.gz ${STAGEDIR}${DOCSDIR} 109 ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/PP99.ps.gz ${STAGEDIR}${DOCSDIR} 110 ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/ReferenceManual.ps.gz ${STAGEDIR}${DOCSDIR} 111 112.include <bsd.port.post.mk> 113