aboutsummaryrefslogtreecommitdiff
path: root/Mk/Uses/fortran.mk
diff options
context:
space:
mode:
authorTijl Coosemans <tijl@FreeBSD.org>2013-12-13 13:22:32 +0000
committerTijl Coosemans <tijl@FreeBSD.org>2013-12-13 13:22:32 +0000
commit7365cece2cb01f639401b807b379c99ae2bec856 (patch)
tree5df47dd039279010c812141045a2914b4b3e6787 /Mk/Uses/fortran.mk
parent6655bf7ec63e07437470b88d6e79e11f3a9738a5 (diff)
downloadports-7365cece2cb01f639401b807b379c99ae2bec856.tar.gz
ports-7365cece2cb01f639401b807b379c99ae2bec856.zip
Notes
Diffstat (limited to 'Mk/Uses/fortran.mk')
-rw-r--r--Mk/Uses/fortran.mk39
1 files changed, 39 insertions, 0 deletions
diff --git a/Mk/Uses/fortran.mk b/Mk/Uses/fortran.mk
new file mode 100644
index 000000000000..f86b37d6ec06
--- /dev/null
+++ b/Mk/Uses/fortran.mk
@@ -0,0 +1,39 @@
+# $FreeBSD$
+#
+# Fortran support
+#
+# MAINTAINER: fortran@FreeBSD.org
+#
+# Feature: fortran
+# Usage: USES=fortran
+# Valid ARGS: gcc (default), ifort
+
+.if !defined(_INCLUDE_USES_FORTRAN_MK)
+_INCLUDE_USES_FORTRAN_MK= yes
+
+.if !defined(fortran_ARGS)
+fortran_ARGS= gcc
+.endif
+
+.if ${fortran_ARGS} == gcc
+_GCC_VER= 46
+BUILD_DEPENDS+= gfortran${_GCC_VER}:${PORTSDIR}/lang/gcc
+RUN_DEPENDS+= gfortran${_GCC_VER}:${PORTSDIR}/lang/gcc
+USE_BINUTILS= yes
+F77= gfortran${_GCC_VER}
+FC= gfortran${_GCC_VER}
+FFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER}
+LDFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER}
+.elif ${fortran_ARGS} == ifort
+BUILD_DEPENDS+= ${LOCALBASE}/intel_fc_80/bin/ifort:${PORTSDIR}/lang/ifc
+RUN_DEPENDS+= ${LOCALBASE}/intel_fc_80/bin/ifort:${PORTSDIR}/lang/ifc
+F77= ${LOCALBASE}/intel_fc_80/bin/ifort
+FC= ${LOCALBASE}/intel_fc_80/bin/ifort
+.else
+IGNORE= USES=fortran: invalid arguments: ${fortran_ARGS}
+.endif
+
+CONFIGURE_ENV+= F77="${F77}" FC="${FC}" FFLAGS="${FFLAGS}"
+MAKE_ENV+= F77="${F77}" FC="${FC}" FFLAGS="${FFLAGS}"
+
+.endif