+$Usage = <<EOUSAGE;
+Usage: $Pgm [mkdependHS options] [-- GHC options --] srcfile1 [srcfile2 ...]
+
+Options recognised wherever they occur (mkdependHS or GHC):
+
+ -D<blah> A cpp #define; usual meaning
+ -i<dirs> Add <dirs> (colon-separated) to list of directories
+ to search for "import"ed modules
+ -I<dir> Add <dir> to list of directories to search for
+ .h files (i.e., usual meaning)
+ -syslib <blah> This program uses this GHC system library; take
+ appropriate action (e.g., recognise when they are
+ "import"ing a module from that library).
+
+mkdependHS-specific options (not between --'s):
+
+ -v Be verbose.
+ -v -v Be very verbose.
+ -w No warnings
+ -f blah Use "blah" as the makefile, rather than "makefile"
+ or "Makefile".
+ -cpp Wash the input files through cpp(1).
+ -o <osuf> Use <osuf> as the "object file" suffix ( default: o)
+ -s <suf> Make extra dependencies for files with
+ suffix <suf><osuf>; thus, "-o hc -s _a" will
+ make dependencies both for .hc files and for .a_hc
+ files. (Useful in conjunction with NoFib "ways".)
+ --exclude-module=<file>
+ Regard <file> as "stable"; i.e., eXclude it from having
+ dependencies on it.
+ -x same as --exclude-module
+ --exclude-directory=<dirs>
+ Regard : separated list of directories as containing stable,
+ don't generate any dependencies on modules therein.
+ -Xdirs same as --exclude-directory
+ --include-prelude
+ Regard prelude libraries as unstable, i.e., generate dependencies
+ on prelude modules. This option is normally only used by the
+ various system libraries. If a -syslib option is used, dependencies
+ will also be generated on the library's interfaces.
+ --include-module=<file>
+ Regard <file> as not "stable"; i.e., generate dependencies
+ on it (if any). This option is normally used in conjunction
+ with the --exclude-directory option.
+
+EOUSAGE
+
+$Status = 0; # just used for exit() status
+$Verbose = 0; # 1 => verbose, 2 => very verbose
+$Warnings = 1; # 1 => warn about duplicate interface files