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