#!/bin/sh
# check nr of arguments
if [ $# -eq 0 ]
then
   echo 'Missing argument'
   exit
elif [ $# -gt 1 ]
then
   echo 'Too many arguments'
   exit
fi

# pick up single argument of script
# and cd into that directory if possible
ex=$1
if [ -d ./$ex ]
then
   cd ./$ex
else
   echo 'No such directory:' $ex
   exit
fi

# iterate over mini files in directory
res=$ex.lst
echo 'Creating handin for' $ex > $res
date >> $res
for i in *.m
do
  # Try and compile mini file
  name=`basename $i .m`
  echo 'Trying to compile file' $name.m >> $res
  cat $name.m >> $res
  echo >> $res
  mini -v $name >> $res 2>&1
  if [ $? -eq 0 ]
  then
     # If succesfully compiled, execute it
     echo 'Executing' $name >> $res
     if [ -f $name.in ]
     then
        ./$name < $name.in >> $res 2>&1
     else
        ./$name >> $res 2>&1
     fi
  fi
  echo >> $res
  echo 'Finished with file' $name.m >> $res
  echo >> $res
done
mv $ex.lst ..
