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

Reply via email to