caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Michael Grünewald" <michael.grunewald@laposte.net>
To: OCaml users <caml-list@inria.fr>
Subject: Re: [Caml-list] A Tutorial on GNU Make with OCaml
Date: Fri, 21 May 2010 07:18:20 +0200	[thread overview]
Message-ID: <4BF6179C.6050102@laposte.net> (raw)
In-Reply-To: <4BF603AA.4030703@msu.edu>

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


  reply	other threads:[~2010-05-21  5:18 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-21  3:53 Jeff Shaw
2010-05-21  5:18 ` Michael Grünewald [this message]
2010-05-21  8:17   ` [Caml-list] " David Allsopp
2010-05-21  8:42     ` Michaël Grünewald
2010-05-21  8:28 ` Goswin von Brederlow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BF6179C.6050102@laposte.net \
    --to=michael.grunewald@laposte.net \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).