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
[ Home ] [ Index: by date | by threads ]
[ Search: ]

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

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

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 in minor bugfixes/feature enhancements release.
The changes in this version include:

   - Added basic support for C++ projects to OMake standard library.
   - Several improvements in module of the standard library.
   - Portability improvements.
   - Minor documentation fixes.
   - A few other bugfixes and improvements.

For a more verbose change log, please visit .

Source and binary packages of OMake may be downloaded from . In addition, OMake may be
obtained via the GODI packaging system (release lines "3.08", "3.09" and

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

OMake 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