#! /bin/bash

CC=

INCLUDEARGS="-I/usr/include -I/usr/include/smpi"
CMAKE_LINKARGS="-L/usr/lib"

FFLAGS="-ff2c "
LINKARGS="-lsimgrid -lsmpi -lm -lgfortran"
main_name=main
TMPFILE=$(mktemp).f90
CMDLINE=""
while [ -n "$1" ]; do
  ARG="$1"
  shift
  case "${ARG}" in
   -c)
      CMAKE_LINKARGS=""
      LINKARGS=""
      CMDLINE="${CMDLINE} -c "
      ;;
   *.f90|*.F90)
      SRCFILE="$(readlink -f ${ARG} 2>/dev/null)"
      if [ -z $SRCFILE ] ; then
         SRCFILE="$ARG"
      fi
      #replace "program main_name by subroutine user\_main (and the end clause as well)"
      sed 's/[[:space:]]*program[[:space:]]*\([a-zA-Z0-9\-\_]*\)/subroutine user\_main /g'  ${ARG} > ${TMPFILE}
      SRCFILE="${TMPFILE}"
      CMDLINE="${CMDLINE} ${SRCFILE} "
      ;;
   *)
      CMDLINE="${CMDLINE} ${ARG} "
      ;;
  esac
done

CMDLINE="${CC} ${FFLAGS} ${CMDLINE} ${INCLUDEARGS} ${CMAKE_LINKARGS} ${LINKARGS}"

echo "${CMDLINE}"
${CMDLINE}

if [ -f ${TMPFILE} ];then
  rm ${TMPFILE}
fi
