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.
http://shawjeff.blogspot.com/2010/05/this-is-storytutorial-about-how-i_20.html
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:
http://home.gna.org/bsdmakepscripts/
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
https://forge.ocamlcore.org/scm/viewvc.php/trunk/?root=libertine
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
http://home.gna.org/bsdmakepscripts/tex.html
--
Cheers,
Michael
_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs