Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Export DVFS functionality for smpi (experimental).
[simgrid.git] / src / smpi / smpiff.in
index 7fd89c8..25ea41a 100644 (file)
@@ -2,7 +2,7 @@
 prefix="@exec_prefix@"
 
 ARGS="-DMAIN__=user_main -Diargc_=smpi_process_argc -Dgetarg_=smpi_process_getarg"
-LINKARGS="-lf2c"
+LINKARGS="-lf2c -lm"
 SRCFILES=""
 
 while [ -n "$1" ]; do
@@ -30,11 +30,16 @@ if [ -n "${SRCFILES}" ]
 then
    for SRCFILE in "${SRCFILES}"
    do
-      TMPFILE=$(mktemp -p .).f
+      TMPFILE=${SRCFILE}\_$RANDOM.f
       cp ${SRCFILE} ${TMPFILE}
       CFILE="${TMPFILE%.f}.c"
-      #echo "$prefix/bin/smpif2c ${SRCFILE} && $prefix/bin/smpicc ${ARGS} ${CFILE} && rm ${CFILE}"
-      $prefix/bin/smpif2c ${TMPFILE} && $prefix/bin/smpicc ${ARGS} ${CFILE} && rm ${CFILE} && rm ${TMPFILE}
+      #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}"