diff --git a/math/lapack95/Makefile b/math/lapack95/Makefile index 68eeff50b25a..88f781c2c512 100644 --- a/math/lapack95/Makefile +++ b/math/lapack95/Makefile @@ -1,85 +1,80 @@ # Created by: NAKATA, Maho # $FreeBSD$ PORTNAME= lapack95 PORTVERSION= 1.0 PORTREVISION= 9 CATEGORIES= math MASTER_SITES= NL DISTNAME= ${PORTNAME} DIST_SUBDIR= lapack95 MAINTAINER= ports@FreeBSD.org COMMENT= LAPACK95, Fortran90/95 wrapper for LAPACK USES= fortran tar:tgz + +OPTIONS_RADIO= BLAS +OPTIONS_RADIO_BLAS= REFERENCE ATLAS +OPTIONS_DEFAULT= REFERENCE + +REFERENCE_DESC= Blas / Lapack +REFERENCE_USES= blaslapack:netlib + +ATLAS_DESC= ATLAS +ATLAS_USES= blaslapack:atlas + USE_LDCONFIG= yes WRKSRC= ${WRKDIR}/LAPACK95 MAKE_JOBS_UNSAFE=yes -.include +.include .if ${ARCH} == "sparc64" PICFLAG?= -fPIC .else PICFLAG?= -fpic .endif -.if exists(${LOCALBASE}/lib/libatlas.so) -WITH_BLAS?= atlas -.else -WITH_BLAS?= reference -.endif - -.if ${WITH_BLAS} == atlas -LIB_DEPENDS+= libatlas.so:${PORTSDIR}/math/atlas -BLAS= -lf77blas -LAPACK= -lalapack -lcblas -.else -LIB_DEPENDS+= libblas.so:${PORTSDIR}/math/blas -LIB_DEPENDS+= liblapack.so:${PORTSDIR}/math/lapack -BLAS= -lblas -LAPACK= -llapack -.endif - .if ${PORT_OPTIONS:MEXAMPLES} PORTEXAMPLES= make.inc EXAMPLES1 EXAMPLES2 .endif pre-configure: - ${REINPLACE_CMD} -e 's|%%BLAS%%|${BLAS}|g ; \ + ${REINPLACE_CMD} -e 's|%%BLAS%%|${BLASLIB}|g ; \ s|%%FC%%|${FC}|g ; \ s|%%FFLAGS%%|${FFLAGS} $${PICFLAG}|g ; \ - s|%%LAPACK%%|${LAPACK}|g ; \ + s|%%LAPACK%%|${LAPACKLIB}|g ; \ s|%%LDFLAGS%%|${LDFLAGS}|g ; \ s|%%LOCALBASE%%|${LOCALBASE}|g ; \ s|%%PREFIX%%|${PREFIX}|g' \ ${WRKSRC}/make.inc ${REINPLACE_CMD} -e 's|ranlib|${RANLIB}|g ; \ s|ar cr|${AR} cr|g' \ ${WRKSRC}/SRC/makefile \ ${WRKSRC}/TESTING/makefile \ ${WRKSRC}/EXAMPLES1/makefile* + ${MKDIR} ${WRKSRC}/lapack95_modules ${CP} -r ${WRKSRC} ${WRKSRC}_SHARED do-build: cd ${WRKSRC}/SRC; ${SETENV} ${MAKE_ENV} PICFLAG= \ ${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} single_double_complex_dcomplex cd ${WRKSRC}_SHARED/SRC; ${SETENV} ${MAKE_ENV} PICFLAG=${PICFLAG} \ ${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} single_double_complex_dcomplex cd ${WRKSRC}_SHARED ; ${LD} -Bshareable -o liblapack95.so.1 -x -soname \ liblapack95.so.1 --whole-archive lapack95.a do-install: ${INSTALL_DATA} ${WRKSRC}/lapack95.a ${STAGEDIR}${PREFIX}/lib/liblapack95.a ${INSTALL_DATA} ${WRKSRC}_SHARED/liblapack95.so.1 ${STAGEDIR}${PREFIX}/lib ${LN} -sf liblapack95.so.1 ${STAGEDIR}${PREFIX}/lib/liblapack95.so ${MKDIR} ${STAGEDIR}${PREFIX}/lib/lapack95_modules ${INSTALL_DATA} ${WRKSRC}_SHARED/lapack95_modules/*.mod ${STAGEDIR}${PREFIX}/lib/lapack95_modules .if ${PORT_OPTIONS:MEXAMPLES} @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} cd ${WRKSRC} && ${COPYTREE_SHARE} "${PORTEXAMPLES}" ${STAGEDIR}${EXAMPLESDIR} .endif -.include +.include diff --git a/math/lapack95/files/patch-make.inc b/math/lapack95/files/patch-make.inc index 5e453c61bc7d..977a9bcf6152 100644 --- a/math/lapack95/files/patch-make.inc +++ b/math/lapack95/files/patch-make.inc @@ -1,51 +1,50 @@ ---- make.inc.orig 2000-11-30 08:18:37.000000000 -0500 -+++ make.inc 2011-07-21 02:46:07.000000000 -0400 +--- make.inc.orig 2000-11-30 14:18:37.000000000 +0100 ++++ make.inc 2015-01-05 23:43:55.000000000 +0100 @@ -3,8 +3,8 @@ # UNI-C, Denmark; Univ. of Tennessee, USA; NAG Ltd., UK # August 5, 2000 # -FC = f95 -free -FC1 = f95 -fixed +FC = %%FC%% +FC1 = %%FC%% # -dcfuns Enable recognition of non-standard double # precision complex intrinsic functions # -dusty Allows the compilation and execution of "legacy" @@ -13,27 +13,27 @@ # -ieee=full enables all IEEE arithmetic facilities # including non-stop arithmetic. -OPTS0 = -u -V -dcfuns -dusty -ieee=full --MODLIB = -I./../lapack95_modules +OPTS0 = %%FFLAGS%% #-u -V -dcfuns -dusty -ieee=full -+MODLIB = -I./../lapack95_modules -I%%PREFIX%%/lib/lapack95_modules + MODLIB = -I./../lapack95_modules OPTS1 = -c $(OPTS0) OPTS3 = $(OPTS1) $(MODLIB) OPTL = -o -OPTLIB = +OPTLIB = %%LDFLAGS%% -LAPACK_PATH = /usr/local/lib/LAPACK3/ +LAPACK_PATH = -L%%LOCALBASE%%/lib -L%%PREFIX%%/lib -LAPACK95 = ../lapack95.a -LAPACK77 = $(LAPACK_PATH)/lapack.a -TMG77 = $(LAPACK_PATH)/tmglib.a -BLAS = $(LAPACK_PATH)/blas.a +LAPACK95 = -llapack95 +LAPACK77 = %%LAPACK%% +TMG77 = -ltmglib +BLAS = %%BLAS%% -LIBS = $(LAPACK95) $(TMG77) $(LAPACK77) $(BLAS) +LIBS = $(LAPACK_PATH) $(LAPACK95) $(LAPACK77) $(TMG77) $(BLAS) SUF = f90 XX = 'rm' -f $@; \ 'rm' -f $@.res; \ $(FC) $(OPTS0) -o $@ $(MODLIB) $@.$(SUF) $(OPTLIB) $(LIBS); \ - $@ < $@.dat > $@.res; \ + ./$@ < $@.dat > $@.res; \ 'rm' -f $@ YY = $(FC) $(OPTS0) -o $@ $(MODLIB) $@.$(SUF) $(OPTLIB) $(LIBS)