#! /bin/bash prefix="@exec_prefix@" ARGS="-DMAIN__=user_main -Diargc_=smpi_process_argc -Dgetarg_=smpi_process_getarg" LINKARGS="-lf2c -lm" SRCFILES="" while [ -n "$1" ]; do ARG="$1" shift case "${ARG}" in *.f) SRCFILE="$(readlink -f ${ARG} 2>/dev/null)" if [ -z $SRCFILE ] ; then SRCFILE="$ARG" fi 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 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