#! /bin/bash
-CC=@CMAKE_Fortran_Compiler@
+CC=gfortran
INCLUDEARGS="@includeflag@"
CMAKE_LINKARGS="-L@libdir@"
-FFLAGS="-ff2c "
+FFLAGS="-ff2c -fno-second-underscore"
LINKARGS="-lsimgrid -lm -lgfortran"
main_name=main
-TMPFILE=$(mktemp).f90
+
+declare -a TMPFILES
+trap 'rm -f "${TMPFILES[@]}"' EXIT
+
CMDLINE=""
while [ -n "$1" ]; do
ARG="$1"
CMDLINE="${CMDLINE} -c "
;;
*.f90|*.F90)
- SRCFILE="$(readlink -f ${ARG} 2>/dev/null)"
- if [ -z $SRCFILE ] ; then
- SRCFILE="$ARG"
- fi
+ TMPFILE=$(mktemp "${ARG}_XXXXXX.f90")
+ TMPFILES+=( "${TMPFILE}" )
#replace "program main_name by subroutine user\_main (and the end clause as well)"
- sed 's/[[:space:]]*program[[:space:]]*\([a-zA-Z0-9\-\_]*\)/subroutine user\_main /gI' ${ARG} > ${TMPFILE}
+ sed 's/[[:space:]]*program[[:space:]]*\([a-zA-Z0-9\-\_]*\)/subroutine user\_main /gI;s/[[:space:]]*use[[:space:]]*mpi/\include \"mpif\.h\" /gI' ${ARG} > ${TMPFILE}
SRCFILE="${TMPFILE}"
CMDLINE="${CMDLINE} ${SRCFILE} "
;;
CMDLINE="${CC} ${FFLAGS} ${CMDLINE} ${INCLUDEARGS} ${CMAKE_LINKARGS} ${LINKARGS}"
-echo "${CMDLINE}"
+#echo "${CMDLINE}"
${CMDLINE}
-
-if [ -f ${TMPFILE} ];then
- rm ${TMPFILE}
-fi