#!/bin/sh
help(){
echo REFAL-M
echo "usage: `basename $0` [option] project-files"
echo "options are:"
echo "   -o Name of executable file"
echo "   -g With debug info"
echo "   -rm Remove all generated files"
echo "   -q Be quiet"
exit 0;
}
msg(){
  case "$quiet" in
    yes) ;;
    *) echo $*;;
  esac
}
case "$#" in
   "0") help;;
    *) ;;
esac

while :
do
case "$1" in
   -o) shift;TARGET="$1";;
   -g) shift;rdebug=debug;; 
   -h) help;;
   -q) quiet=yes;makequiet=-s;genquet=-q;;
   -rm) clean=clean;;
   -*) echo "Ignoing $1";;
   *) break;;
esac
shift;
done
files=$@
for i in $files
do
if [ -f $i -a -r $i ]
then
  :
else
  echo "ERROR: Can't open file $i." >&2 
  exit 1;
fi
done
makefile=/tmp/makefile.$$

if [ "$TARGET" = "" ]
then
 ONE=`basename $1`
 ONE=`echo $ONE | tr '.' '/ '`
 TARGET=`dirname $ONE`
fi

bin=`dirname $0`
msg "REFAL-M"
$bin/ref-gen-make $genquet -o $TARGET -m $makefile $files
if [ "$quiet" = "" ]
then
make $clean $rdebug -f $makefile
else
make $clean $rdebug -f $makefile > /dev/null
fi
res=$?
rm -f $makefile
[ "$clean" != "" ] && exit 0
if [ $res -eq 0 ] 
then
msg "Generating executable $TARGET"
msg "Running $TARGET"
hello
else
echo "Failed"
fi
