-
-# usage note and exit:
-# - argument begin with '-' but is not recognised or number of arguments is > 3,
-# - argument doesn't begin with '-' and number of arguments is > 2
-if [[ ( "$1" == -* && ( ! "$1" =~ ^-(anum|mnum|f)$ || $# > 3 ) ) || ( "$1" != -* && $# > 2 ) ]]; then
- echo -e "$USAGE"
- exit 1
+TEMP=`getopt -o f,a:,m: --long full,anum:,mnum: \
+ -n 'genmake' -- "$@"`
+
+if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
+
+# Note the quotes around `$TEMP': they are essential!
+eval set -- "$TEMP"
+
+opt_full=false
+opt_anum=
+opt_mnum=
+
+while true ; do
+ case "$1" in
+ -f|--full) opt_full=true ; shift ;;
+ -a|--anum) opt_anum="$2" ; shift 2 ;;
+ -m|--mnum) opt_mnum="$2" ; shift 2 ;;
+ --) shift ; break ;;
+ *) echo -e $USAGE ; exit 1 ;;
+ esac
+done
+
+DIR=.
+if [ -n "$opt_anum" ] ; then
+ DIR=$opt_anum
+ echo opt_anum: DIR=$DIR >& 2
+elif [ -n "$opt_mnum" ] ; then
+ DIR=$opt_mnum
+ echo opt_mnum: DIR=$DIR >& 2