Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
generate unique names, but easier for debug
[simgrid.git] / src / smpi / smpiff.in
index 800415c..301802c 100644 (file)
@@ -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"
 SRCFILES=""
 
 while [ -n "$1" ]; do
@@ -16,18 +17,24 @@ 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}
    done
 else
    #echo "$prefix/bin/smpicc ${ARGS}"