+In general, if module @A@ contains the line
+\begin{verbatim}
+ import B ...blah...
+\end{verbatim}
+then @mkdependHS@ will generate a dependency line of the form:
+\begin{verbatim}
+ A.o : B.hi
+\end{verbatim}
+If module @A@ contains the line
+\begin{verbatim}
+ import {-# SOURCE #-} B ...blah...
+\end{verbatim}
+then @mkdependHS@ will generate a dependency line of the form:
+\begin{verbatim}
+ A.o : B.hi-boot
+\end{verbatim}
+(See \Sectionref{hi-boot} for details of @.hi-boot@ files.)
+If @A@ imports multiple modules, then there will be multiple lines with @A.o@ as the
+target.
+
+By default, @mkdependHS@ generates all the dependencies, and then
+concatenates them onto the end of
+@makefile@ (or @Makefile@ if @makefile@ doesn't exist) bracketed by
+the lines "@# DO NOT DELETE: Beginning of Haskell dependencies@" and
+"@# DO NOT DELETE: End of Haskell dependencies@". If these lines
+already exist in the @makefile@, @mkdependHS@ deletes the old
+dependencies first.
+
+@mkdependHS@ takes GHC options between @--@ brackets.
+It understands the following ones. Any options between @--@ brackets
+that it doesn't understand are simply ignored; this way you can feed your
+Makefile's standard GHC options to @mkdependHS@ un-filtered.
+\begin{description}
+
+\item[@-D<blah>@] A cpp @#define@; usual meaning.
+
+\item[@-i<dirs>@] Add @<dirs>@ (colon-separated) to list of directories
+ to search for "import"ed modules.
+
+\item[@-I<dir>@] Add @<dir>@ to list of directories to search for
+ .h files (i.e., usual meaning).
+
+\item[@-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).
+
+\item[@-ignore <mod>@]
+\end{description}
+
+Here are the @mkdependHS@-specific options (not between @--@'s):
+\begin{description}
+\item[@-v@] Be verbose.
+\item[@-v -v@] Be very verbose.
+\item[@-f blah@]
+ Use @blah@ as the makefile, rather than @makefile@
+ or @Makefile@. If @blah@ doesn't exist, @mkdependHS@ creates it.
+ We often use @-f .depend@ to put the dependencies in @.depend@ and
+ then @include@ the file @.depend@ into @Makefilpe@.
+
+\item[@-o <osuf>@]
+ Use @.<osuf>@ as the "target file" suffix ( default: @o@).
+ Multiple @-o@ flags are permitted (GHC2.05 onwards). Thus "@-o hc -o o@"
+ will generate dependencies for @.hc@ and @.o@ files.
+
+\item[@-s <suf>@]
+ Make extra dependencies that declare that files with
+ suffix @.<suf>_<osuf>@ depend on interface files with suffix @.<suf>_hi@, or
+ (for @{-# SOURCE #-}@ imports) on @.hi-boot@.
+ Multiple @-s@ flags are permitted.
+ For example, "@-o hc -s a -s b@" will
+ make dependencies for @.hc@ on @.hi@, @.a_hc@ on @.a_hi@, and @.b_hc@ on @.b_hi@.
+ (Useful in conjunction with NoFib "ways".)
+
+\item[@--exclude-module=<file>@]
+ Regard @<file>@ as "stable"; i.e., exclude it from having
+ dependencies on it.
+
+\item[@-x@] same as @--exclude-module@
+
+\item[@--exclude-directory=<dirs>@]
+ Regard the colon-separated list of directories @<dirs>@ as containing stable,
+ don't generate any dependencies on modules therein.
+
+\item[@-Xdirs@] same as @--exclude-directory@.
+
+\item[@--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.
+\end{description}
+
+