X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2a6374b4690c4acd146423676b19c66d26f45c28..444b3487fdce26571d25a82b1fb835c8c15e550f:/src/smpi/smpiff.in diff --git a/src/smpi/smpiff.in b/src/smpi/smpiff.in index 800415cc2d..25ea41a982 100644 --- a/src/smpi/smpiff.in +++ b/src/smpi/smpiff.in @@ -1,7 +1,8 @@ #! /bin/bash prefix="@exec_prefix@" -ARGS="-DMAIN__=user_main -Diargc_=smpi_process_argc -Dgetarg_=smpi_process_getarg -lf2c" +ARGS="-DMAIN__=user_main -Diargc_=smpi_process_argc -Dgetarg_=smpi_process_getarg" +LINKARGS="-lf2c -lm" SRCFILES="" while [ -n "$1" ]; do @@ -16,18 +17,29 @@ while [ -n "$1" ]; do SRCFILES="${SRCFILES} ${SRCFILE}" ;; *) + if [ "${ARG}" = "-c" ]; then + LINKARGS="" + fi ARGS="${ARGS} ${ARG}" ;; esac done +ARGS="${ARGS} ${LINKARGS}" if [ -n "${SRCFILES}" ] then for SRCFILE in "${SRCFILES}" do - CFILE="${SRCFILE%.f}.c" - #echo "$prefix/bin/smpif2c ${SRCFILE} && $prefix/bin/smpicc ${ARGS} ${CFILE} && rm ${CFILE}" - $prefix/bin/smpif2c ${SRCFILE} && $prefix/bin/smpicc ${ARGS} ${CFILE} && rm ${CFILE} + TMPFILE=${SRCFILE}\_$RANDOM.f + cp ${SRCFILE} ${TMPFILE} + CFILE="${TMPFILE%.f}.c" + #echo "$prefix/bin/smpif2c ${TMPFILE} && $prefix/bin/smpicc ${ARGS} ${CFILE} && rm ${CFILE} && rm ${TMPFILE}" + $prefix/bin/smpif2c ${TMPFILE} && $prefix/bin/smpicc ${ARGS} ${CFILE} && rm ${CFILE} && rm ${TMPFILE} || exit $? + # When the file is compiled with "-c" and no output file is specified with + # "-o", rename the output. FIXME: do it properly. + if [ -f ${CFILE%.c}.o ]; then + mv ${CFILE%.c}.o ${SRCFILE%.f}.o + fi done else #echo "$prefix/bin/smpicc ${ARGS}"