caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Aleksey Nogin <nogin@cs.caltech.edu>
To: sylvain.le-gall@polytechnique.org, Caml List <caml-list@inria.fr>
Subject: Re: [Caml-list] Omake [Was: Building large and portable projects]
Date: Fri, 21 Nov 2003 19:51:04 -0800	[thread overview]
Message-ID: <3FBEDD28.80308@cs.caltech.edu> (raw)
In-Reply-To: <20031121234859.GA1317@gallu.homelinux.org>

On 21.11.2003 15:48, sylvain.le-gall@polytechnique.org wrote:

> Ok. But i am looking for something included in it ( think that in your
> very large project, you have a library that builds against an external
> one, i want that the makefile system detect it and output that it needs
> this library... ).

Well, included is a macro language that should (ideally) allow you to 
define things you want. If needed, you can relatively easily extend the 
language of built-in functions as well (which means you have to change 
omake source code, but it gives you access to full OCaml).

> META file comes with findlib. Findlib is an helper to configure ocaml
> compilation :
> ocamlfind ocamlc -package "fileutils" xxx.ml 
> will run ocamlc -I /usr/lib/ocaml/fileutils ...

[...]

> I want ( just as i have posted before ) :
> 
> let my_prog = { name = "my_prog";...;toplevels = [ "X.ml" ] }
> in
> add_target my_prog

Well, does it really have to be written in OCaml?

Note that if one would want to use omake for simple projects, all that 
[s]he would have to learn is couple of macros (which completely hide the 
notions of "target", "dependency", etc) and couple of standard 
variables. E.g, you'd need couple of line for the project:

OCAMLC = ocamlfind ocamlc -package "fileutils"
OCamlProgram(my_prog, X Y Z ...)

Note that the standard macros are not in any way built-in (the way make 
has a big number of built-in rule), they just come from an include file 
(that can be studied and even modified if a small simple project ends up 
growing into a large and complicated one).

Note - if in the example above you do not want to rely on external 
ocamlfind, you could add ocamlfind code to omake, changing the above to

OCAMLINCLUDES += $(ocamlfind fileutils)
OCamlProgram(my_prog, X Y Z ...)

-- 
Aleksey Nogin

Home Page: http://nogin.org/
E-Mail: nogin@cs.caltech.edu (office), aleksey@nogin.org (personal)
Office: Jorgensen 70, tel: (626) 395-2907

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  parent reply	other threads:[~2003-11-22  3:51 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-20 18:47 [Caml-list] Building large and portable projects Martin Jambon
2003-11-20 19:56 ` sylvain.le-gall
2003-11-21  1:45   ` Nicolas Cannasse
2003-11-21  5:25     ` David Brown
2003-11-21  5:48       ` Nicolas Cannasse
2003-11-21  6:45         ` David Brown
2003-11-21  6:49         ` sylvain.le-gall
2003-11-21 16:12           ` skaller
2003-11-21 17:53             ` Eric Dahlman
2003-11-22 14:45               ` skaller
2003-11-21 19:04             ` sylvain.le-gall
2003-11-22 14:34               ` skaller
2003-11-22 18:50                 ` sylvain.le-gall
2003-11-22 14:32             ` Martin Berger
2003-11-22 14:55               ` skaller
2003-11-22 17:08             ` David Brown
2003-11-22 16:48               ` skaller
2003-11-23  3:25               ` Nicolas Cannasse
2003-11-23  4:29                 ` David Brown
2003-11-23 17:21                 ` skaller
2003-11-22 17:13             ` David Brown
2003-11-24 18:02             ` Ken Rose
2003-11-24 19:04               ` Christian Lindig
2003-11-21 16:32           ` Martin Jambon
2003-11-21 18:57             ` sylvain.le-gall
2003-11-21  9:14       ` Christian Lindig
2003-11-21  9:28 ` Richard Jones
2003-11-21 15:35 ` skaller
2003-11-21 17:05 ` Jason Hickey
2003-11-21 18:55   ` sylvain.le-gall
2003-11-21 19:30     ` [Caml-list] Omake [Was: Building large and portable projects] Aleksey Nogin
2003-11-21 20:39       ` Damien
2003-11-22  3:30         ` Aleksey Nogin
2003-11-21 23:48       ` sylvain.le-gall
2003-11-22  1:32         ` Nicolas Cannasse
2003-11-22  3:51         ` Aleksey Nogin [this message]
2003-11-28 16:29   ` [Caml-list] Building large and portable projects David Brown

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=3FBEDD28.80308@cs.caltech.edu \
    --to=nogin@cs.caltech.edu \
    --cc=caml-list@inria.fr \
    --cc=sylvain.le-gall@polytechnique.org \
    /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).