:

findMAKE()
{
if(test -x "`which gmake`") then
    MAKE=gmake
else
    MAKE=make
fi
} 


findMakeVar()
{  
cat >Makefile <<EOF
all:
	@echo \$($1)
EOF
$MAKE
}

defaultFlags()
{
echo UNIX `uname`
case `uname` in

Linux) FC=gfortran
       FFLAGS="-fno-automatic"       
       RANLIB=ranlib
     ;;

OSF1)
       FC=f77
       FFLAGS="-O0 -fpe2" 
       RANLIB=ranlib
     ;;
SunOS)
       FC=f77
       FFLAGS=
       RANLIB=ranlib
     ;;
Darwin)
       FC=gfortran
       FFLAGS= 
       RANLIB="ranlib -c"
     ;;
CYGWIN*)
       FC=g77
       FFLAGS=-fno-automatic 
       RANLIB="ranlib"
     ;;


   *)
      FC=f77
      lFort=
      RANLIB=ranlib
      echo Unknown Unix  
     ;;
esac

}

writeFlags()
{
echo "# compiler Flags
# Fortran compiler
FC=\"$FC\"

# Flags for Fortran compiler
FFLAGS=\"$FFLAGS\"

# RANLIB 
RANLIB=\"$RANLIB\"

# MAKE 
MAKE=$MAKE        

export  FC FFLAGS RANLIB  MAKE
" > ../FlagsForSh    
}

#MAKE
writeFlagsForMake()
{
echo "# compiler Flags

FC = $FC 
FFLAGS = $FFLAGS
RANLIB = $RANLIB
export  FC FFLAGS RANLIB 

" > FlagsForMake
}



testFC()
{  
cat >test.f <<EOF
C     TEST     
      WRITE(*,*) 'test program'
      END
EOF

  if(test ! -x "`which $FC`") then 
     echo Can not find Fortran compiler  $FC
 
      if(test -x "`which gfortran`") then
         echo gfortran is detected!
         FC=gfortran
         FFLAGS=
      else   
      if(test -x "`which g77`") then
         echo g77 is detected! 
         FC=g77
         FFLAGS=-fno-automatic
         lFort=-lg2c
      else   
      if(test -x "`which f77`") then
         echo f77 is detected! 
         FC=f77
         echo default compiler flags are used for F77
         FFLAGS=
         lFort=
      else    
          echo Fortran compiler is not detected. 
          FC=
          FFLAGS=
          return 0
      fi
      fi
      fi
  fi  

  echo Fortran compiler is detected

  $FC  -o a.out test.f  1>/dev/null 2>/dev/null
  if(test $? -ne 0) then
    echo Fatal problem in  fortran compiler
    return 1
  else 
    echo $FC OK
  fi 


  $FC $FFLAGS -o a.out test.f  1>/dev/null 2>/dev/null
  if(test $? -ne 0) then
    echo Unrecognized flags of fortran compiler
    echo improve FFLAGS in calchep/FlagsForSh 
    return 1
  else 
    echo FFLAGS OK
  fi 
  rm -f a.out 
  return 0
}


#==================== Starting point ============
rm -rf fTest
mkdir fTest
cd fTest


if(test -r ../FlagsForSh) then
  . ../FlagsForSh
else 
  findMAKE
echo MAKE= $MAKE
  defaultFlags
  writeFlags  
fi


# FORTRAN COMPILER

testFC;  if(test $? -ne 0 ) then exit 1; fi

writeFlags
cd ..
rm -fr fTest

writeFlagsForMake
exit 0
