X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e6e67305ecc66829721213aea23743f933b23b5d..401273041d310cd9077459a90fc18aa0361b034c:/src/smpi/smpiff.in diff --git a/src/smpi/smpiff.in b/src/smpi/smpiff.in index 3d9000327a..25ea41a982 100644 --- a/src/smpi/smpiff.in +++ b/src/smpi/smpiff.in @@ -1,7 +1,8 @@ #! /bin/bash -prefix="@prefix@" +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,13 +17,31 @@ while [ -n "$1" ]; do SRCFILES="${SRCFILES} ${SRCFILE}" ;; *) + if [ "${ARG}" = "-c" ]; then + LINKARGS="" + fi ARGS="${ARGS} ${ARG}" ;; esac done +ARGS="${ARGS} ${LINKARGS}" -for SRCFILE in "${SRCFILES}" -do - CFILE="${SRCFILE%.f}.c" - $prefix/bin/smpif2c ${SRCFILE} && $prefix/bin/smpicc ${ARGS} ${CFILE} -done +if [ -n "${SRCFILES}" ] +then + for SRCFILE in "${SRCFILES}" + do + 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}" + $prefix/bin/smpicc ${ARGS} +fi