Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
OCAMLDEP(1)		     General Commands Manual		     OCAMLDEP(1)

NAME
     ocamldep - Dependency generator for OCaml

SYNOPSIS
     ocamldep [ options ] filename ...

DESCRIPTION
     The  ocamldep(1)  command	scans  a set of OCaml source files (.ml and .mli
     files) for references to external compilation units, and outputs dependency
     lines in a format suitable for the 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:

     ocamldep options *.mli *.ml > .depend

     where .depend is the file that should contain the dependencies.

     Dependencies are generated both for compiling with  the  bytecode	compiler
     ocamlc(1) and with the native-code compiler ocamlopt(1).

OPTIONS
     The following command-line options are recognized by ocamldep(1).

     -absname
	    Show absolute filenames in error messages.

     -all   Generate  dependencies  on	all required files, rather than assuming
	    implicit dependencies.

     -allow-approx
	    Allow falling back	on  a  lexer-based  approximation  when  parsing
	    fails.

     -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 in-
	    terface are passed with the "-map" option when  computing  dependen-
	    cies  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.

     -debug-map
	    Dump the delayed dependency map for each map file.

     -I directory
	    Add the given directory to the  list  of  directories  searched  for
	    source  files. If a source file foo.ml mentions an external compila-
	    tion unit Bar, a dependency on that unit's interface bar.cmi is gen-
	    erated only if the source for bar is found in the current  directory
	    or	in  one of the directories specified with -I.  Otherwise, Bar is
	    assumed to be a module from the standard library, and  no  dependen-
	    cies  are generated. For programs that span multiple directories, it
	    is recommended to pass ocamldep(1) the  same  -I  options  that  are
	    passed to the compiler.

     -nocwd
	    Do not add current working directory to the list of include directo-
	    ries.

     -impl file
	    Process file as a .ml file.

     -intf file
	    Process file as a .mli file.

     -map file
	    Read  an  propagate  the  delayed dependencies for module aliases in
	    file, so that the  following  files  will  depend  on  the	exported
	    aliased modules if they use them.

     -ml-synonym .ext
	    Consider  the given extension (with leading dot) to be a synonym for
	    .ml.

     -mli-synonym .ext
	    Consider the given extension (with leading dot) to be a synonym  for
	    .mli.

     -modules
	    Output   raw   dependencies   of   the  form  filename: Module1 Mod-
	    ule2 ... ModuleN where Module1, ..., ModuleN are the  names  of  the
	    compilation  units	referenced  within  the file filename, but these
	    names are not resolved to source file names.  Such raw  dependencies
	    cannot  be used by make(1), but can be post-processed by other tools
	    such as Omake(1).

     -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), 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 -native causes dependen-
	    cies  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.)

     -one-line
	    Output one line per file, regardless of the length.

     -open module
	    Assume that module module is opened before parsing each of the  fol-
	    lowing files.

     -pp command
	    Cause  ocamldep(1)	to  call the given command as a preprocessor for
	    each source file.

     -ppx command
	    Pipe abstract syntax tree through preprocessor command.

     -shared
	    Generate dependencies for native plugin files (.cmxs) in addition to
	    native compiled files (.cmx).

     -slash
	    Under Unix, this option does nothing.

     -sort  Sort files according to their dependencies.

     -version
	    Print version string and exit.

     -vnum  Print short version number and exit.

     -help or --help
	    Display a short usage summary and exit.

SEE ALSO
     ocamlc(1), ocamlopt(1).
     The OCaml user's manual, chapter "Dependency generator".

								     OCAMLDEP(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ocamldep&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help