2016-02-18 07:11:59 -08:00
|
|
|
.\"**************************************************************************
|
|
|
|
.\"* *
|
|
|
|
.\"* OCaml *
|
|
|
|
.\"* *
|
|
|
|
.\"* Xavier Leroy, projet Cristal, INRIA Rocquencourt *
|
|
|
|
.\"* *
|
|
|
|
.\"* Copyright 1996 Institut National de Recherche en Informatique et *
|
|
|
|
.\"* en Automatique. *
|
|
|
|
.\"* *
|
|
|
|
.\"* All rights reserved. This file is distributed under the terms of *
|
|
|
|
.\"* the GNU Lesser General Public License version 2.1, with the *
|
|
|
|
.\"* special exception on linking described in the file LICENSE. *
|
|
|
|
.\"* *
|
|
|
|
.\"**************************************************************************
|
2011-07-27 07:17:02 -07:00
|
|
|
.\"
|
1996-05-10 06:27:26 -07:00
|
|
|
.TH OCAMLDEP 1
|
1995-11-02 08:54:37 -08:00
|
|
|
|
|
|
|
.SH NAME
|
2011-04-26 05:16:50 -07:00
|
|
|
ocamldep \- Dependency generator for OCaml
|
1995-11-02 08:54:37 -08:00
|
|
|
|
|
|
|
.SH SYNOPSIS
|
2008-09-15 07:05:30 -07:00
|
|
|
.B ocamldep
|
1995-11-02 08:54:37 -08:00
|
|
|
[
|
2008-09-15 07:05:30 -07:00
|
|
|
.I options
|
1995-11-02 08:54:37 -08:00
|
|
|
]
|
|
|
|
.I filename ...
|
|
|
|
|
|
|
|
.SH DESCRIPTION
|
|
|
|
|
2008-09-15 07:05:30 -07:00
|
|
|
The
|
1996-04-30 07:53:58 -07:00
|
|
|
.BR ocamldep (1)
|
2011-04-26 05:16:50 -07:00
|
|
|
command scans a set of OCaml source files
|
1995-11-02 08:54:37 -08:00
|
|
|
(.ml and .mli files) for references to external compilation units,
|
|
|
|
and outputs dependency lines in a format suitable for the
|
|
|
|
.BR make (1)
|
|
|
|
utility. This ensures that make will compile the source files in the
|
|
|
|
correct order, and recompile those files that need to when a source
|
|
|
|
file is modified.
|
|
|
|
|
|
|
|
The typical usage is:
|
|
|
|
.P
|
2008-09-15 07:05:30 -07:00
|
|
|
ocamldep
|
1995-11-02 08:54:37 -08:00
|
|
|
.I options
|
|
|
|
*.mli *.ml > .depend
|
|
|
|
.P
|
|
|
|
where .depend is the file that should contain the
|
|
|
|
dependencies.
|
|
|
|
|
|
|
|
Dependencies are generated both for compiling with the bytecode
|
2008-09-15 07:05:30 -07:00
|
|
|
compiler
|
1996-04-30 07:53:58 -07:00
|
|
|
.BR ocamlc (1)
|
2008-09-15 07:05:30 -07:00
|
|
|
and with the native-code compiler
|
1996-04-30 07:53:58 -07:00
|
|
|
.BR ocamlopt (1).
|
1995-11-02 08:54:37 -08:00
|
|
|
|
|
|
|
.SH OPTIONS
|
|
|
|
|
2008-09-15 07:05:30 -07:00
|
|
|
The following command-line options are recognized by
|
1996-04-30 07:53:58 -07:00
|
|
|
.BR ocamldep (1).
|
1995-11-02 08:54:37 -08:00
|
|
|
.TP
|
2012-08-03 03:22:35 -07:00
|
|
|
.B \-absname
|
|
|
|
Show absolute filenames in error messages.
|
|
|
|
.TP
|
2015-11-30 07:54:22 -08:00
|
|
|
.B \-all
|
|
|
|
Generate dependencies on all required files, rather than assuming
|
|
|
|
implicit dependencies.
|
|
|
|
.TP
|
|
|
|
.B \-allow\-approx
|
|
|
|
Allow falling back on a lexer-based approximation when parsing fails.
|
|
|
|
.TP
|
|
|
|
.B \-as\-map
|
|
|
|
For the following files, do not include delayed dependencies for
|
|
|
|
module aliases.
|
|
|
|
This option assumes that they are compiled using options
|
|
|
|
"\-no\-alias\-deps \-w \-49", and that those files or their interface are
|
|
|
|
passed with the "\-map" option when computing dependencies for other
|
|
|
|
files. Note also that for dependencies to be correct in the
|
|
|
|
implementation of a map file, its interface should not coerce any of
|
|
|
|
the aliases it contains.
|
|
|
|
.TP
|
|
|
|
.B \-debug\-map
|
|
|
|
Dump the delayed dependency map for each map file.
|
|
|
|
.TP
|
1995-11-02 08:54:37 -08:00
|
|
|
.BI \-I \ directory
|
|
|
|
Add the given directory to the list of directories searched for
|
|
|
|
source files. If a source file foo.ml mentions an external
|
|
|
|
compilation unit Bar, a dependency on that unit's interface
|
|
|
|
bar.cmi is generated only if the source for bar is found in the
|
2008-09-15 07:05:30 -07:00
|
|
|
current directory or in one of the directories specified with
|
|
|
|
.BR \-I .
|
2008-02-29 06:21:22 -08:00
|
|
|
Otherwise, Bar is assumed to be a module from the standard library,
|
1995-11-02 08:54:37 -08:00
|
|
|
and no dependencies are generated. For programs that span multiple
|
2008-09-15 07:05:30 -07:00
|
|
|
directories, it is recommended to pass
|
1996-04-30 07:53:58 -07:00
|
|
|
.BR ocamldep (1)
|
2008-09-15 07:05:30 -07:00
|
|
|
the same
|
|
|
|
.B \-I
|
|
|
|
options that are passed to the compiler.
|
|
|
|
.TP
|
2020-03-12 12:21:16 -07:00
|
|
|
.B \-nocwd
|
|
|
|
Do not add current working directory to the list of include directories.
|
|
|
|
.TP
|
2015-11-30 07:54:22 -08:00
|
|
|
.BI \-impl \ file
|
|
|
|
Process
|
|
|
|
.IR file
|
|
|
|
as a .ml file.
|
|
|
|
.TP
|
|
|
|
.BI \-intf \ file
|
|
|
|
Process
|
|
|
|
.IR file
|
|
|
|
as a .mli file.
|
|
|
|
.TP
|
|
|
|
.BI \-map \ file
|
|
|
|
Read an propagate the delayed dependencies for module aliases in
|
|
|
|
.IR file ,
|
|
|
|
so that the following files will depend on the
|
|
|
|
exported aliased modules if they use them.
|
|
|
|
.TP
|
2011-07-20 02:17:07 -07:00
|
|
|
.BI \-ml\-synonym \ .ext
|
|
|
|
Consider the given extension (with leading dot) to be a synonym for .ml.
|
|
|
|
.TP
|
|
|
|
.BI \-mli\-synonym \ .ext
|
|
|
|
Consider the given extension (with leading dot) to be a synonym for .mli.
|
|
|
|
.TP
|
2008-09-15 07:05:30 -07:00
|
|
|
.B \-modules
|
|
|
|
Output raw dependencies of the form
|
|
|
|
.IR filename : \ Module1\ Module2 \ ... \ ModuleN
|
|
|
|
where
|
|
|
|
.IR Module1 ,\ ..., \ ModuleN
|
|
|
|
are the names of the compilation
|
|
|
|
units referenced within the file
|
|
|
|
.IR filename ,
|
|
|
|
but these names are not
|
|
|
|
resolved to source file names. Such raw dependencies cannot be used
|
|
|
|
by
|
|
|
|
.BR make (1),
|
|
|
|
but can be post-processed by other tools such as
|
|
|
|
.BR Omake (1).
|
2001-07-06 10:08:10 -07:00
|
|
|
.TP
|
|
|
|
.BI \-native
|
|
|
|
Generate dependencies for a pure native-code program (no bytecode
|
|
|
|
version). When an implementation file (.ml file) has no explicit
|
|
|
|
interface file (.mli file),
|
|
|
|
.BR ocamldep (1)
|
|
|
|
generates dependencies on the
|
|
|
|
bytecode compiled file (.cmo file) to reflect interface changes.
|
|
|
|
This can cause unnecessary bytecode recompilations for programs that
|
|
|
|
are compiled to native-code only. The flag
|
2008-09-15 07:05:30 -07:00
|
|
|
.B \-native
|
2001-07-06 10:08:10 -07:00
|
|
|
causes dependencies on native compiled files (.cmx) to be generated instead
|
|
|
|
of on .cmo files. (This flag makes no difference if all source files
|
|
|
|
have explicit .mli interface files.)
|
2008-09-15 07:05:30 -07:00
|
|
|
.TP
|
2015-12-11 07:04:01 -08:00
|
|
|
.B \-one-line
|
|
|
|
Output one line per file, regardless of the length.
|
|
|
|
.TP
|
|
|
|
.BI \-open \ module
|
|
|
|
Assume that module
|
|
|
|
.IR module
|
|
|
|
is opened before parsing each of the
|
|
|
|
following files.
|
|
|
|
.TP
|
2008-09-15 07:05:30 -07:00
|
|
|
.BI \-pp \ command
|
|
|
|
Cause
|
|
|
|
.BR ocamldep (1)
|
|
|
|
to call the given
|
|
|
|
.I command
|
|
|
|
as a preprocessor for each source file.
|
|
|
|
.TP
|
2012-07-27 05:56:38 -07:00
|
|
|
.BI \-ppx \ command
|
|
|
|
Pipe abstract syntax tree through preprocessor
|
|
|
|
.IR command .
|
|
|
|
.TP
|
2017-02-17 03:25:54 -08:00
|
|
|
.B \-shared
|
|
|
|
Generate dependencies for native plugin files (.cmxs) in addition to
|
|
|
|
native compiled files (.cmx).
|
|
|
|
.TP
|
2008-09-15 07:05:30 -07:00
|
|
|
.B \-slash
|
|
|
|
Under Unix, this option does nothing.
|
|
|
|
.TP
|
2015-11-30 07:54:22 -08:00
|
|
|
.B \-sort
|
|
|
|
Sort files according to their dependencies.
|
|
|
|
.TP
|
2008-09-15 07:05:30 -07:00
|
|
|
.B \-version
|
2010-05-20 07:06:29 -07:00
|
|
|
Print version string and exit.
|
|
|
|
.TP
|
|
|
|
.B \-vnum
|
|
|
|
Print short version number and exit.
|
2008-09-15 07:05:30 -07:00
|
|
|
.TP
|
|
|
|
.BR \-help \ or \ \-\-help
|
|
|
|
Display a short usage summary and exit.
|
2001-07-06 10:08:10 -07:00
|
|
|
|
1995-11-02 08:54:37 -08:00
|
|
|
.SH SEE ALSO
|
1996-04-30 07:53:58 -07:00
|
|
|
.BR ocamlc (1),
|
|
|
|
.BR ocamlopt (1).
|
1995-11-02 08:54:37 -08:00
|
|
|
.br
|
2011-04-26 05:16:50 -07:00
|
|
|
.IR The\ OCaml\ user's\ manual ,
|
1995-11-02 08:54:37 -08:00
|
|
|
chapter "Dependency generator".
|