aboutsummaryrefslogtreecommitdiff
path: root/math/taucs/Makefile
diff options
context:
space:
mode:
authorMaho Nakata <maho@FreeBSD.org>2007-01-09 05:52:07 +0000
committerMaho Nakata <maho@FreeBSD.org>2007-01-09 05:52:07 +0000
commit39c24110db57e9d0bb64e09f51da5b4061c663ff (patch)
tree47fc40659e5545bb431cf0f05d66b8dbe1ca0a3d /math/taucs/Makefile
parent4092e1a374776854b7f43a1222c97cad3ca1a803 (diff)
downloadports-39c24110db57e9d0bb64e09f51da5b4061c663ff.tar.gz
ports-39c24110db57e9d0bb64e09f51da5b4061c663ff.zip
Notes
Diffstat (limited to 'math/taucs/Makefile')
-rw-r--r--math/taucs/Makefile50
1 files changed, 44 insertions, 6 deletions
diff --git a/math/taucs/Makefile b/math/taucs/Makefile
index 1476cfe63ae1..c3f1c666e14c 100644
--- a/math/taucs/Makefile
+++ b/math/taucs/Makefile
@@ -7,7 +7,7 @@
PORTNAME= taucs
PORTVERSION= 2.2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= math
MASTER_SITES= http://www.tau.ac.il/~stoledo/taucs/${PORTVERSION}/
DISTNAME= ${PORTNAME}
@@ -16,22 +16,60 @@ EXTRACT_SUFX= .tgz
MAINTAINER= ports@FreeBSD.org
COMMENT= C library of sparse linear solvers
-BUILD_DEPENDS= ${LOCALBASE}/lib/liblapack.a:${PORTSDIR}/math/lapack \
- ${LOCALBASE}/lib/libmetis.a:${PORTSDIR}/math/metis
-LIB_DEPENDS= atlas.1:${PORTSDIR}/math/atlas
+.if exists(${LOCALBASE}/lib/libatlas_r.so) && !defined(WITH_BLAS)
+WITH_ATLAS= yes
+.endif
+.if defined(WITH_ATLAS)
+LIB_DEPENDS+= atlas.1:${PORTSDIR}/math/atlas
+BLAS= -lf77blas -latlas
+LAPACK= -llapack
+.else
+LIB_DEPENDS+= lapack.1:${PORTSDIR}/math/lapack
+LIB_DEPENDS+= blas.1:${PORTSDIR}/math/blas
+BLAS= -lblas
+LAPACK= -llapack
+.endif
+LIB_DEPENDS= metis:${PORTSDIR}/math/metis
+
+WANT_FORTRAN=yes
+USE_GCC=4.2+
-NO_WRKSUBDIR= yes
HAS_CONFIGURE= yes
+WRKSRC= ${WRKDIR}/${PORTNAME}
MAKEFILE= makefile
ALL_TARGET=
.include <bsd.port.pre.mk>
+.if ${ARCH} == "sparc64"
+PICFLAG?= -fPIC
+.else
+PICFLAG?= -fpic
+.endif
+
+do-extract:
+ ${MKDIR} ${WRKSRC} ; cd ${WRKSRC} ; ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/${DISTNAME}${EXTRACT_SUFX} ${EXTRACT_AFTER_ARGS}
+
+post-patch:
+ @${MKDIR} ${WRKSRC}_SHARED ; ${CP} -r ${WRKSRC}/* ${WRKSRC}_SHARED
+
+do-configure:
+ cd ${WRKSRC}; ./configure
+ cd ${WRKSRC}_SHARED; ./configure
post-configure:
- cd ${WRKSRC}; ${PATCH} <${FILESDIR}/extra-patch-build-FreeBSD-makefile
+ @(cd ${WRKSRC}; ${PATCH} <${FILESDIR}/extra-patch-build-FreeBSD-makefile)
+ @(cd ${WRKSRC}_SHARED; ${PATCH} <${FILESDIR}/extra-patch-build-FreeBSD-makefile)
+ @${REINPLACE_CMD} -e 's+%%LOCALBASE%%+${LOCALBASE}+g;' -e 's+%%FC%%+${FC}+g;' -e 's+%%BLAS%%+${BLAS}+g;' -e 's+%%LAPACK%%+${LAPACK}+g;' -e 's+%%CC%%+${CC}+g;' -e 's+%%CFLAGS%%+${CFLAGS}+g;' -e 's+%%FFLAGS%%+${FFLAGS}+g;' ${WRKSRC}/config/FreeBSD.mk
+ @${REINPLACE_CMD} -e 's+%%LOCALBASE%%+${LOCALBASE}+g;' -e 's+%%FC%%+${FC}+g;' -e 's+%%BLAS%%+${BLAS}+g;' -e 's+%%LAPACK%%+${LAPACK}+g;' -e 's+%%CC%%+${CC}+g;' -e 's+%%CFLAGS%%+${CFLAGS} ${PICFLAG}+g;' -e 's+%%FFLAGS%%+${FFLAGS} ${PICFLAG}+g;' ${WRKSRC}_SHARED/config/FreeBSD.mk
+do-build:
+ cd ${WRKSRC} ; ${MAKE}
+ cd ${WRKSRC}_SHARED ; ${SETENV} CFLAGS="${CFLAGS} ${PICFLAG}" ${MAKE}
+ cd ${WRKSRC}_SHARED/lib/FreeBSD ; ld -Bshareable -o libtaucs.so.1 -x -soname libtaucs.so.1 --whole-archive libtaucs.a
do-install:
@${INSTALL_DATA} ${WRKSRC}/lib/FreeBSD/libtaucs.a ${PREFIX}/lib
+ @${INSTALL_DATA} ${WRKSRC}_SHARED/lib/FreeBSD/libtaucs.so.1 ${PREFIX}/lib
+ @${LN} -sf libtaucs.so.1 ${PREFIX}/lib/libtaucs.so
@${INSTALL_DATA} ${WRKSRC}/build/FreeBSD/*.h ${PREFIX}/include
@${INSTALL_DATA} ${WRKSRC}/src/*.h ${PREFIX}/include
@${INSTALL_PROGRAM} ${WRKSRC}/bin/FreeBSD/direct ${PREFIX}/bin