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 TAA29856; Sun, 27 Jul 2003 19:23:29 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id TAA27371 for ; Sun, 27 Jul 2003 19:23:27 +0200 (MET DST) X-SPAM-Warning: Sending machine is listed in blackholes.five-ten-sg.com Received: from eposta.kablonet.com.tr ([62.248.102.66]) by concorde.inria.fr (8.11.1/8.11.1) with SMTP id h6RHNPf20699 for ; Sun, 27 Jul 2003 19:23:26 +0200 (MET DST) Received: (qmail 81829 invoked by uid 0); 27 Jul 2003 15:39:32 -0000 Received: from unknown (HELO 195.174.173.82) (exa@kablonet.com.tr@195.174.173.82) by 0 with SMTP; 27 Jul 2003 15:39:32 -0000 From: Eray Ozkural Reply-To: erayo@cs.bilkent.edu.tr Organization: Bilkent University CS Dept. To: Stefano Zacchiroli Subject: Re: [Caml-list] Roadplan for world domination (or constructive criticism of ocaml facilities) Date: Sun, 27 Jul 2003 18:36:08 +0300 User-Agent: KMail/1.5.9 References: <20030718212114.GA31599@pyramid.twistedmatrix.com> <200307241940.48060.exa@kablonet.com.tr> <20030726073628.GA5387@fistandantilus.takhisis.org> In-Reply-To: <20030726073628.GA5387@fistandantilus.takhisis.org> Cc: caml-list@inria.fr MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200307271836.08601.exa@kablonet.com.tr> X-Loop: caml-list@inria.fr X-Spam: no; 0.00; eray:01 ozkural:01 caml-list:01 criticism:01 automake:01 kludge:01 vars:01 subdirs:01 0.1.1:01 configs:01 generic:01 libs:01 libtool:01 erayo:01 bilkent:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Saturday 26 July 2003 10:36, Stefano Zacchiroli wrote: > On Thu, Jul 24, 2003 at 07:40:48PM +0300, Eray Ozkural wrote: > > I have a makefile library called "justmake" that uses some recent > > features in GNU make. I think it can cope with complex ocaml sources > > easily as it implements most interesting features you can only have with > > automake. If I make such a hack, I'll post it here. > > Could you briefly list which features implements justmake? > Well, I was using a kludge for an eval function in GNU make, then Paul as he promised made it into the latest release. That's the method I use in implementation of justmake. What justmake implements is a neat automake like build system in which you indicate what you want to build, what sources there are and everything else is done automatically including dependency analysis and recursive compilation. No nasty preprocessing! It's basically a makefile library. All you have to do is to include the library header and define a few vars. A big advantage over automake is you can use make expressions anywhere. The interface is very similar to automake. Here is an example entry file PACKAGE = sma SUBDIRS = data VERSION = 0.1.1 BUILDARCH = i686 # valid build configs : dbg, opt, optdbg BUILD = dbg include justmake/Makefile.justmake And here a flavor of file definitions # Executable files PROGRAMS = bin2ascii check-session-db sequence-gen .... # Library files LIBRARIES = sma sma++ stock-db sequence-c generic ... bin2ascii_CFILES = $(wildcard src/bin2ascii/*.c) bin2ascii_INCFILES = $(wildcard src/bin2ascii/*.h) bin2ascii_LIBS = -lsma ... The system doesn't enforce recursive makes, which I think sucks most of the time but you can still use them (as in SUBDIRS above). You can indicate source files anywhere in the source directory. Also visible above is the build configuration support. Every temporary file is created in a build dir, no files are created in the source directory, which I think is a great win. Also you get to have as many build configs as you like which you can define (well at least I've got debug and optimized configs :P) It has also a lot of extra functionality that I developed over years, but still clean and sensible :) I've noticed that automake started implementing some features that I had for a long time in justmake but it's still superior ;) [I think that's because we're working on the same problem] BTW, it only supports libtool for handling library builds but I guess it's OK for the most part. I'll try to bring together a first release soon. I'll let you know. Cheers, -- Eray Ozkural (exa) Comp. Sci. Dept., Bilkent University, Ankara KDE Project: http://www.kde.org www: http://www.cs.bilkent.edu.tr/~erayo Malfunction: http://mp3.com/ariza GPG public key fingerprint: 360C 852F 88B0 A745 F31B EA0F 7C07 AE16 874D 539C ------------------- 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