Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Announcing OMake 0.9.6
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Aleksey Nogin <nogin@c...>
Subject: Announcing OMake 0.9.6
We are proud to announce the latest release of the OMake Build System - 
OMake version 0.9.6.

OMake is a build system, similar to GNU make, but with many additional
features. The home site for OMake is . OMake 
features include:

    o Support for projects spanning several directories or directory

    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,, and

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

    o Portability: omake provides a uniform interface on Win32 and
      on Unix systems including Linux and OSX.

    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

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.

OMake is licensed under a mixture of the GNU GPL license (OMake engine 
itself) and the MIT-like license (default configuration files).

OMake version 0.9.6 features a large number of major improvements and 
bug fixes, including:

   - Added "static" sections that are evaluated once (useful for
     configure-style scripts).
   - Added :value: dependencies, where a target depends on a computed
     value, rather than a file.
   - Changed the meaning of the .SCANNER rules.  .SCANNER rules
     are now much more similar to normal rules.
   - Added file locking for the .omakedb and .omc files.
   - Fixed issues where files were being expanded during the
     string->array conversion.
   - Rule execution now fails when any shell command fails, even those in
     nested sections.
   - Regular expressions now handle \(...\) arguments correctly.  Also,
     the lexer has better performance, searching is now roughly linear
   - Added .SUBDIRS bodies, which can be used instead of the OMakefile
     in a subdirectory.
   - Added the vmount function to define a "virtual mount" of one
     directory over another.
   - Better accessibility of the build rules and dependencies from OMake
   - Improved the latex-related rules.
   - The Map object is completely changed.
   - Other bug fixes and improvements.

For a more verbose change log, please visit .

Source and binary packages of OMake 0.9.6 may be downloaded from . In addition, OMake may be 
obtained via the GODI packaging system (3.08, 3.07 and "dev" branches).

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

OMake 0.9.6 is still 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 and/or at

Aleksey Nogin

Home Page:
E-Mail: (office), (personal)
Office: Moore 04, tel: (626) 395-2200