ocamldep (1)





NAME

       ocamldep - Dependency generator for Objective Caml


SYNOPSIS

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


DESCRIPTION

       The ocamldep(1) command scans a set of Objective Caml source files (.ml
       and .mli files) for references to external compilation units, and  out-
       puts  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  com-
       piler ocamlc(1) and with the native-code compiler ocamlopt(1).


OPTIONS

       The following command-line option is recognized by ocamldep(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  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 form 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.

       -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
              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.)