#! /bin/sh
if [ "${DEBUG+set}" = set ]; then
  set -x
  outputRedir=">&2"
else
  outputRedir=">/dev/null 2>&1"
fi
while echo "$1" | grep '^-' >/dev/null 2>&1; do
  FPPFLAGS="${FPPFLAGS+${FPPFLAGS} }$1"
  shift
done
set -e
test "${DEBUG+set}" = set && echo "$FPPFLAGS" >&2
FCFLAGS=${FCFLAGS--EP}
if [ "${FC+set}" != set ]; then
  for F90C in sxf90 f90 '' ; do
    test -n "$F90C" || exit 1
    set +e
    F90BIN=`which $F90C 2>/dev/null`
    set -e
    test ! -x "$F90BIN" || break
  done
fi
FC=${FC-$F90C}
IFStr=`echo "$IFS" | sed -n '$!s/$/\\\\n/
H
$x
$s/\n//g
$P'`
#translate -Ep to -EP in FCFLAGS
FCFLAGS=`echo "$FCFLAGS" | sed -e 's/\('"[$IFStr]\\|^\\)-Ep\\([$IFStr]\\|\$\\)"'/\1-EP\2/'`
# append -EP if necessary
if echo "$FCFLAGS" \
  | grep -v '\('"[$IFStr]\\|^\\)-EP\\([$IFStr]\\|\$\\)" >/dev/null
then
  FCFLAGS="${FCFLAGS+$FCFLAGS }-EP"
fi
TMPDIR="${TMPDIR-/tmp}"
{
  tmp=`
  (umask 077 && mktemp -d "$TMPDIR/fooXXXXXX") 2>/dev/null
  ` &&
  test -n "$tmp" && test -d "$tmp"
} || {
  tmp=$TMPDIR/foo$$-$RANDOM
  (umask 077 && mkdir "$tmp")
} || exit $?
#echo \"$FCFLAGS\"
for FortranFile in "$@" ; do
  fppOutput=`echo "$FortranFile" | sed 's:.*/::
s:^:'"$tmp/"'i.:'`
  set +e
  eval \$FC \$FCFLAGS -ts \"'$tmp'\" \$FPPFLAGS \"\$FortranFile\" $outputRedir
  set -e
  cat "$fppOutput" 2>/dev/null
  test "${DEBUG+set}" = set && cat "$fppOutput" >&2
  rm "$fppOutput"
done
rm -rf "$tmp"