Man Linux: Main Page and Category List

NAME

       jocamldep - Dependency generator for JoCaml

SYNOPSIS

       jocamldep [ -I lib-dir ] filename ...

DESCRIPTION

       The  jocamldep(1)  command  scans  a set of Objective Caml 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:

       jocamldep options *.mli *.ml > .depend

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

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

OPTIONS

       The following command-line option is recognized by jocamldep(1).

       -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
              current  directory  or  in one of the directories specified with
              -I.  Otherwise, Bar is assumed to be a module form the  standard
              library,  and  no  dependencies are generated. For programs that
              span  multiple  directories,   it   is   recommended   to   pass
              jocamldep(1)  the  same  -I  options  that  are  passed  to  the
              compiler.

       -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),  jocamldep(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 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.)

SEE ALSO

       jocamlc(1), jocamlopt(1).
       The Objective Caml users manual, chapter "Dependency generator".