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	depen-
       dency  lines in a format	suitable for the make(1) utility. This ensures
       that make will compile the source files in the correct order,  and  re-
       compile 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 com-
       piler 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	assum-
	      ing 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  us-
	      ing  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.

       -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  com-
	      pilation unit Bar, a dependency on that unit's interface bar.cmi
	      is  generated only if the	source for bar is found	in the current
	      directory	or in one of the directories specified with -I.	  Oth-
	      erwise, Bar is assumed to	be a module from the standard library,
	      and no dependencies are generated. For programs that span	multi-
	      ple  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  di-
	      rectories.

       -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 de-
	      pendencies  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	 byte-
	      code  version).	When  an implementation	file (.ml file)	has no
	      explicit interface file (.mli file), ocamldep(1)	generates  de-
	      pendencies  on the bytecode compiled file	(.cmo file) to reflect
	      interface	changes.  This can cause unnecessary bytecode recompi-
	      lations for programs that	are compiled to	native-code only.  The
	      flag -native 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.)

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

       -open module
	      Assume that module module	is opened before parsing each  of  the
	      following	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	 addi-
	      tion 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+14.3.quarterly>

home | help