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
A Tutorial on GNU Make with OCaml
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2010-05-21 (05:18)
From: Michael_Grünewald <michael.grunewald@l...>
Subject: Re: [Caml-list] A Tutorial on GNU Make with OCaml
Dear Jeff,

Jeff Shaw wrote:
> Dear OCamlers,
> I spent quite a lot of time today getting better acquainted with GNU
> make and decided I to share my experience and results. It's a bit on the
> newbie friendly side of instruction.

ten years ago I learned GNU Make and found it awful to program. I had 
the feeling that it is nit meant to write complex (or mildly complex) 
makefiles. Instead makefiles should be written by another program. I may 
be wrong but I think that GNU Make shines when it is used as part of the 
auto-tools chain, that you may also need to learn.

My personal taste goes rather to BSD Make (make in FreeBSD, bsdmake in 
OS-X and bmake in some other places): I found it much mor eeasy to 
program, and the FreeBSD build toolchain and ports collection provide a 
significant amount of Makefile techniques one can draws its inspiration 
from. I wrote my own macros for my OCaml projects. You can find them here:

If you are interested in make and makefile techniques, you may have 
interest in the macros I wrote. You can see them in action in

Read the various makefiles you found in the repository!

Note that if you are looking for an efficient way to handle your 
projects, it seems that ocamlbuild might be a more reasonable approach. 
I never used it though.

The OCaml build system I wrote is not that good as I would like it to 
be, for instance it lacks the possibility to compile several versions of 
a library or program against different ocamlbuild predicates. For simple 
things, it works very good, however! Of course I am very busy (math 
post-doc) so I never really wrote documentation for these macros, but 
the examples are here and I may have time for questions.

Remark: the TeX oriented macros I also wrote *are* a bit documented! See