#!/bin/bash

libdir='__LIBDIR__'
main='main'
with_test_targets=''
project_file=''
generated_file='Makefile'
options="$*"

# Parse command-line arguments

while : ; do
  case "$1" in
    "") break;;
    -main)
        main=$2; shift;;
    -lib)
        libdir=$2; shift;;
    -o)
        libdir=$2; shift;;
    -with-test-targets)
        with_test_targets='yes';;
    -help)
        cat <<EOF
Usage: rfsmmake [options]
Options: [defaults in brackets after descriptions]
  -main MAIN             set name of main taregt [default: 'main']
  -lib LIBDIR            set location of RFSM library [default: '$libdir]
  -o FILE                set name of the generated Makefile [default: 'Makefile']
  -with-test-targets     generated test targets [default: no]
  -help                  print this message
EOF
	exit 0;;
    -*) echo "Unknown option \"$1\"." 1>&2; exit 2;;
    *) project_file=$1;;
  esac
  shift
done

echo "# generated by rfsmmake $options" > $generated_file
echo "" >> $generated_file
echo "LIBDIR=$libdir" >> $generated_file
echo "" >> $generated_file
echo "include $libdir/etc/platform" >> $generated_file
echo "" >> $generated_file
echo "" >> $generated_file
cat $project_file >> $generated_file
echo "" >> $generated_file
cat $libdir/etc/Makefile.templ >> $generated_file
if [ -n "$with_test_targets" ]; then
echo "" >> $generated_file
cat $libdir/etc/Makefile.test.templ >> $generated_file
fi

echo "Generated $generated_file"
