From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id SAA19522; Sat, 22 Nov 2003 18:13:48 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id SAA19524 for ; Sat, 22 Nov 2003 18:13:47 +0100 (MET) Received: from mail.davidb.org (adsl-64-172-240-129.dsl.sndg02.pacbell.net [64.172.240.129]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id hAMHDk124178 for ; Sat, 22 Nov 2003 18:13:46 +0100 (MET) Received: from davidb by mail.davidb.org with local (Exim 3.36 #1 (Debian)) id 1ANbKF-0003xm-00; Sat, 22 Nov 2003 09:13:39 -0800 Date: Sat, 22 Nov 2003 09:13:39 -0800 From: David Brown To: skaller Cc: sylvain.le-gall@polytechnique.org, Nicolas Cannasse , David Brown , Martin Jambon , caml-list@inria.fr Subject: Re: [Caml-list] Building large and portable projects Message-ID: <20031122171339.GB15144@davidb.org> References: <20031120195614.GB441@gallu.homelinux.org> <000f01c3afd1$30033c90$0274a8c0@PWARP> <20031121052549.GA8599@davidb.org> <008301c3aff3$1030e760$0274a8c0@PWARP> <20031121064950.GA836@gallu.homelinux.org> <1069431167.5426.45.camel@pelican> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1069431167.5426.45.camel@pelican> User-Agent: Mutt/1.5.4i X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 caml-list:01 1100,:01 ocamake:01 linked:01 command:98 command:98 literate:01 nov:01 compile:02 commands:97 modules:02 modules:02 dave:03 complex:03 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Sat, Nov 22, 2003 at 03:12:48AM +1100, skaller wrote: > First observe that building a system > is a process where it is not always > possible to determine the full sequence > of commands in advance. Sometimes, > you have to perform some action before > you can decide what to do next. Make doesn't try to determine everything in advance. Well, sorta :-) It does try to figure everything out in advance, and then sometimes looks to see if that needs to change. It makes it work in a few situations where it wouldn't before. A while back, I build something like ocamake that let you specify a command like: myomake -o target a b c This would compile modules a, b, and c, and any that they depended on. They would be linked in an order that would link. If you need more control, you can specify additional modules on the command line. This kind of tool is useful for many projects. Once I discovered not to try and figure everything out in advance, the tool not only became easier to write, but possible. Once other stuff is brought in (C, literate programming), the specification needs to be more complex. Dave ------------------- 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