OMake is a build system, similar to GNU make, but with many additional
features.  The home site for OMake is http://omake.metaprl.org/

   o Support for projects spanning several directories or directory
     hierarchies.

   o Comes with a default configuration file providing support for OCaml,
     C and LaTeX projects, or a mixture thereof.
     Often, a configuration file is as simple as a single line

        OCamlProgram(prog, foo bar baz)

     which states that the program "prog" is built from the files
     foo.ml, bar.ml, and baz.ml.

   o Fast, reliable, automated, scriptable dependency analysis using
     MD5 digests.

   o Portability: omake provides a uniform interface on Win32, Cygwin,
     and Unix systems including Linux and OS X.

   o Builtin functions that provide the most common features of programs
     like grep, sed, and awk.  These are especially useful on Win32.

   o Full native support for rules that build several files at once.

   o Active filesystem monitoring, where the build automatically restarts
     whenever you modify a source file.  This can be very useful during
     the edit/compile cycle.

   o A companion command interpreter, osh, that can be used interactively.

OMake preserves the style of syntax and rule definitions used in
Makefiles, making it easy to port your project to omake.  There is no
need to code in perl (cons), or Python (scons).  However, there are a
few things to keep in mind:

   1. Indentation is significant, but tabs are not required.
   2. The omake language is functional: functions are first-class
      and there are no side-effects apart from I/O.
   3. Scoping is dynamic.

To try it out, run the command "omake --install" in a project directory,
and modify the generated OMakefile.

OMake 0.9.6.5 is an alpha release.  While we have made an effort to ensure
that it is bug-free, it is possible some functions may not behave as you
would expect.  Please report any comments and/or bugs to the mailing
list omake@metaprl.org
