4 ARGS="-DMAIN__=user_main -Diargc_=smpi_process_argc -Dgetarg_=smpi_process_getarg"
5 LINKARGS="-L@F2C_LIBRARY_PATH@ -lf2c -lm"
8 # $1: prefix, $2: suffix
10 tmp=$(mktemp --suffix="$2" "$1_XXXXXXXXXX" 2> /dev/null)
11 if [ -z "$tmp" ]; then
12 # mktemp failed (unsupported --suffix ?), try unsafe mode
13 tmp=$(mktemp -u "$1_XXXXXXXXXX" 2> /dev/null)
14 if [ -z "$tmp" ]; then
15 # mktemp failed again (doesn't exist ?), try very unsafe mode
19 # create temp file, and exit if it existed before
20 sh -C -c "true > \"${tmp}\"" || exit 1
30 SRCFILE="$(readlink -f ${ARG} 2>/dev/null)"
31 if [ -z "$SRCFILE" ] ; then
34 SRCFILES+="${SRCFILE}"
37 if [ "${ARG}" = "-c" ]; then
44 ARGS="${ARGS} ${LINKARGS}"
46 if [ -n "${SRCFILES}" ]
48 for SRCFILE in "${SRCFILES[@]}"
50 TMPFILE=$(mymktemp "${SRCFILE}" ".f")
51 cp ${SRCFILE} ${TMPFILE}
52 CFILE="${TMPFILE%.f}.c"
53 #echo "$prefix/bin/smpif2c ${TMPFILE} && $prefix/bin/smpicc ${ARGS} ${CFILE} && rm ${CFILE} && rm ${TMPFILE}"
54 $prefix/bin/smpif2c ${TMPFILE} && $prefix/bin/smpicc ${ARGS} ${CFILE} && rm ${CFILE} && rm ${TMPFILE} || exit $?
55 # When the file is compiled with "-c" and no output file is specified with
56 # "-o", rename the output. FIXME: do it properly.
57 if [ -f ${CFILE%.c}.o ]; then
58 mv ${CFILE%.c}.o ${SRCFILE%.f}.o
62 #echo "$prefix/bin/smpicc ${ARGS}"
63 $prefix/bin/smpicc ${ARGS}