#! /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
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