+list_add_not_empty ARGS "${LINKARGS}"
+
+build () {
+ local SRCFILE
+ SRCFILE="$1"
+ TMPFILE=$(mymktemp "${SRCFILE}" ".f")
+ CFILE="${TMPFILE%.f}.c"
+
+ eval $(list_get ARGS)
+
+ cp "${SRCFILE}" "${TMPFILE}" \
+ && "$smpif2c" "${TMPFILE}" \
+ && "$smpicc" "$@" "${CFILE}" \
+ && rm -f "${CFILE}" \
+ && rm -f "${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
+}