2011-07-27 07:17:02 -07: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 Q Public License version 1.0. *
|
|
|
|
.\"* *
|
|
|
|
.\"***********************************************************************
|
|
|
|
.\"
|
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
|
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
|
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
|
|
|
|
.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
|
2008-09-15 07:05:30 -07:00
|
|
|
.B \-slash
|
|
|
|
Under Unix, this option does nothing.
|
|
|
|
.TP
|
|
|
|
.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".
|