Go to the first, previous, next, last section, table of contents.
You run `mkdependHS' like this:
mkdependHS [mkdependHS options] [-- GHC options --] srcfile1 [srcfile2 ...]
or
ghc -M [mkdependHS options(prefix with -optdep)] [ GHC options ] srcfile1 [srcfile2 ...]
To see `mkdependHS''s command-line flags, give it a duff flag,
e.g., `mkdependHS -help'.
In general, if module `A' contains the line
import B ...blah...
then `mkdependHS' will generate a dependency line of the form:
A.o : B.hi
If module `A' contains the line
import {-# SOURCE #-} B ...blah...
then `mkdependHS' will generate a dependency line of the form:
A.o : B.hi-boot
(See Section See section Interface files for details of interface 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.
- `-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).
- `-ignore <mod>'
Here are the `mkdependHS'-specific options (not between `--''s):
- `-v'
- Be verbose.
- `-v -v'
- Be very verbose.
- `-w'
- Turn off warnings about interface file shadowing.
- `-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'.
- `-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.
- `-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".)
- `--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 the colon-separated list of directories `<dirs>' as containing stable,
don't generate any dependencies on modules therein.
- `-Xdirs'
- same as `--exclude-directory'.
- `--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.
- `--include-prelude'
- Regard prelude libraries as unstable, i.e., generate dependencies
on the prelude modules used (including `Prelude').
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.
Go to the first, previous, next, last section, table of contents.