Lines 3-13
Link Here
|
3 |
|
3 |
|
4 |
PORTNAME= superlu |
4 |
PORTNAME= superlu |
5 |
PORTVERSION= ${P_VERSION} |
5 |
PORTVERSION= ${P_VERSION} |
6 |
PORTREVISION= 3 |
|
|
7 |
CATEGORIES= math |
6 |
CATEGORIES= math |
8 |
MASTER_SITES= http://crd.lbl.gov/~xiaoye/SuperLU/ \ |
7 |
MASTER_SITES= http://crd-legacy.lbl.gov/~xiaoye/SuperLU/ \ |
9 |
http://crd.lbl.gov/~xiaoye/:doc |
8 |
http://crd-legacy.lbl.gov/~xiaoye/:doc |
10 |
DISTNAME= ${PORTNAME}_${P_VERSION} |
9 |
DISTNAME= ${PORTNAME}_${P_VERSION} |
|
|
10 |
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} |
11 |
DIST_SUBDIR= ${PORTNAME} |
11 |
DIST_SUBDIR= ${PORTNAME} |
12 |
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} |
12 |
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} |
13 |
|
13 |
|
Lines 17-96
Link Here
|
17 |
LICENSE= BSD3CLAUSE |
17 |
LICENSE= BSD3CLAUSE |
18 |
LICENSE_FILE= ${WRKSRC}/README |
18 |
LICENSE_FILE= ${WRKSRC}/README |
19 |
|
19 |
|
20 |
USES= fortran |
20 |
WRKSRC= ${WRKDIR}/SuperLU_${P_VERSION} |
21 |
|
21 |
|
|
|
22 |
USES= fortran |
23 |
ALL_TARGET= lib |
24 |
TEST_TARGET= testing |
22 |
USE_LDCONFIG= yes |
25 |
USE_LDCONFIG= yes |
|
|
26 |
MAKE_JOBS_UNSAFE= yes |
23 |
|
27 |
|
24 |
P_VERSION= 4.3 |
|
|
25 |
P_VER= ${P_VERSION:R} |
26 |
WRKSRC= ${WRKDIR}/SuperLU_${P_VERSION} |
27 |
ALL_TARGET= lib |
28 |
PLIST_SUB= P_VERSION=${P_VERSION} P_VER=${P_VER} |
28 |
PLIST_SUB= P_VERSION=${P_VERSION} P_VER=${P_VER} |
29 |
|
29 |
|
30 |
ARCH2FIX= SRC/Makefile TESTING/MATGEN/Makefile CBLAS/Makefile make.inc \ |
30 |
ARCH2FIX= make.inc \ |
|
|
31 |
SRC/Makefile TESTING/MATGEN/Makefile CBLAS/Makefile \ |
31 |
MAKE_INC/make.alpha MAKE_INC/make.inc |
32 |
MAKE_INC/make.alpha MAKE_INC/make.inc |
|
|
33 |
P_VERSION= 5.1 |
34 |
P_VER= ${P_VERSION:R} |
32 |
|
35 |
|
33 |
MAKE_JOBS_UNSAFE= yes |
36 |
OPTIONS_DEFINE= DOCS |
34 |
|
37 |
OPTIONS_SINGLE= BLAS |
35 |
.include <bsd.port.pre.mk> |
38 |
OPTIONS_SINGLE_BLAS= ATLAS GOTOBLAS REFERENCE |
36 |
|
39 |
OPTIONS_DEFAULT= REFERENCE |
37 |
.if ${PORT_OPTIONS:MDOCS} |
40 |
|
38 |
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} superlu_ug.pdf SLU_general.ps.gz:doc simax95.ps.gz:doc |
41 |
ATLAS_USES= blaslapack:atlas |
39 |
.endif |
42 |
DOCS_DISTFILES= superlu_ug.pdf \ |
40 |
|
43 |
SLU_general.ps.gz:doc \ |
41 |
.if exists(${LOCALBASE}/lib/libgoto2.so) |
44 |
simax-29176.pdf:doc |
42 |
WITH_BLAS?= gotoblas |
45 |
GOTOBLAS_DESC= GotoBLAS blas implementation |
43 |
.elif exists(${LOCALBASE}/lib/libatlas.so) |
46 |
GOTOBLAS_USES= blaslapack:gotoblas |
44 |
WITH_BLAS?= atlas |
47 |
REFERENCE_DESC= Reference blas implementation |
45 |
.else |
48 |
REFERENCE_USES= blaslapack |
46 |
WITH_BLAS?= reference |
|
|
47 |
.endif |
48 |
|
49 |
. if ${WITH_BLAS} == reference |
50 |
LIB_DEPENDS+= libblas.so:${PORTSDIR}/math/blas |
51 |
BLAS= -lblas |
52 |
.elif ${WITH_BLAS} == gotoblas |
53 |
LIB_DEPENDS+= libgoto2.so:${PORTSDIR}/math/gotoblas |
54 |
BLAS= -lgoto2p |
55 |
.elif ${WITH_BLAS} == atlas |
56 |
LIB_DEPENDS+= libatlas.so:${PORTSDIR}/math/atlas |
57 |
BLAS= -lptf77blas |
58 |
.endif |
59 |
|
49 |
|
60 |
pre-build: |
50 |
pre-build: |
61 |
${REINPLACE_CMD} -e 's+%%BLAS%%+-L${LOCALBASE}/lib ${BLAS}+ ; \ |
51 |
@${REINPLACE_CMD} -e \ |
62 |
s+%%CC%%+${CC}+; s+%%FC%%+${FC}+; \ |
52 |
's|%%BLASLIB%%|-L${LOCALBASE}/lib ${BLASLIB}| ; \ |
63 |
s+%%WRKSRC%%+${WRKSRC}+; \ |
53 |
s|%%CC%%|${CC}| ; \ |
64 |
s+%%CFLAGS%%+${CFLAGS}+; \ |
54 |
s|%%FC%%|${FC}| ; \ |
65 |
s+%%FFLAGS%%+${FFLAGS}+' \ |
55 |
s|%%WRKSRC%%|${WRKSRC}| ; \ |
66 |
${WRKSRC}/make.inc |
56 |
s|%%CFLAGS%%|${CFLAGS}| ; \ |
|
|
57 |
s|%%FFLAGS%%|${FFLAGS}|' ${WRKSRC}/make.inc |
67 |
.for fmk in ${ARCH2FIX} |
58 |
.for fmk in ${ARCH2FIX} |
68 |
${REINPLACE_CMD} -e 's|^ARCH *.= ar|ARCMD = ar| ; \ |
59 |
@${REINPLACE_CMD} -e \ |
69 |
s|\$$(ARCH)|$$(ARCMD)|' ${WRKSRC}/${fmk} |
60 |
's|^ARCH .*= ar|ARCMD = ar| ; \ |
|
|
61 |
s|\$$(ARCH)|$$(ARCMD)|' ${WRKSRC}/${fmk} |
70 |
.endfor |
62 |
.endfor |
71 |
${FIND} ${WRKSRC} -name Makefile | ${XARGS} \ |
63 |
@${FIND} ${WRKSRC} -name Makefile | ${XARGS} ${REINPLACE_CMD} -E -e \ |
72 |
${REINPLACE_CMD} -E -e 's|\( cd (.*); \$$\(MAKE\) \)|\$$(MAKE) -C \1|' |
64 |
's|\( cd (.*); \$$\(MAKE\) \)|\$$(MAKE) -C \1|' |
73 |
|
65 |
|
74 |
do-install: |
66 |
do-install: |
75 |
${INSTALL_DATA} ${WRKSRC}/lib/libsuperlu_${P_VERSION}.a \ |
67 |
@${MKDIR} ${STAGEDIR}${PREFIX}/include/superlu |
76 |
${STAGEDIR}${PREFIX}/lib/libsuperlu.a |
68 |
(cd ${WRKSRC}/SRC && ${INSTALL_DATA} *.h \ |
77 |
${INSTALL_LIB} ${WRKSRC}/libsuperlu_${P_VERSION}.so \ |
69 |
${STAGEDIR}${PREFIX}/include/superlu) |
78 |
${STAGEDIR}${PREFIX}/lib/libsuperlu.so.${P_VER} |
70 |
(cd ${WRKSRC}/lib && ${INSTALL_DATA} libsuperlu_${P_VERSION}.a \ |
|
|
71 |
${STAGEDIR}${PREFIX}/lib/libsuperlu.a) |
72 |
(cd ${WRKSRC} && ${INSTALL_LIB} libsuperlu_${P_VERSION}.so \ |
73 |
${STAGEDIR}${PREFIX}/lib/libsuperlu.so.${P_VER}) |
79 |
${LN} -fs libsuperlu.so.${P_VER} \ |
74 |
${LN} -fs libsuperlu.so.${P_VER} \ |
80 |
${STAGEDIR}${PREFIX}/lib/libsuperlu_${P_VERSION}.so |
75 |
${STAGEDIR}${PREFIX}/lib/libsuperlu_${P_VERSION}.so |
81 |
${LN} -fs libsuperlu_${P_VERSION}.so \ |
76 |
${LN} -fs libsuperlu_${P_VERSION}.so \ |
82 |
${STAGEDIR}${PREFIX}/lib/libsuperlu.so |
77 |
${STAGEDIR}${PREFIX}/lib/libsuperlu.so |
83 |
@${MKDIR} ${STAGEDIR}${PREFIX}/include/superlu |
78 |
|
84 |
${INSTALL_DATA} ${WRKSRC}/SRC/*.h ${STAGEDIR}${PREFIX}/include/superlu |
79 |
post-install-DOCS-on: |
85 |
.if ${PORT_OPTIONS:MDOCS} |
|
|
86 |
@${MKDIR} ${STAGEDIR}${DOCSDIR} |
80 |
@${MKDIR} ${STAGEDIR}${DOCSDIR} |
87 |
${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/SLU_general.ps.gz ${STAGEDIR}${DOCSDIR} |
81 |
(cd ${DISTDIR}/${DIST_SUBDIR} && ${INSTALL_DATA} *.pdf *.ps.gz \ |
88 |
${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/simax95.ps.gz ${STAGEDIR}${DOCSDIR} |
82 |
${STAGEDIR}${DOCSDIR}) |
89 |
${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/superlu_ug.pdf ${STAGEDIR}${DOCSDIR} |
|
|
90 |
.endif |
91 |
|
83 |
|
92 |
regression-test: build |
84 |
post-test: |
93 |
(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} testing ) |
|
|
94 |
(cd ${WRKSRC}/TESTING && ${CAT} *.out ) |
85 |
(cd ${WRKSRC}/TESTING && ${CAT} *.out ) |
95 |
|
86 |
|
96 |
.include <bsd.port.post.mk> |
87 |
.include <bsd.port.mk> |