From: Eray Ozkural <exa@kablonet.com.tr>
To: Stefano Zacchiroli <zack@bononia.it>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Roadplan for world domination (or constructive criticism of ocaml facilities)
Date: Sun, 27 Jul 2003 18:36:08 +0300 [thread overview]
Message-ID: <200307271836.08601.exa@kablonet.com.tr> (raw)
In-Reply-To: <20030726073628.GA5387@fistandantilus.takhisis.org>
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) <erayo@cs.bilkent.edu.tr>
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
next prev parent reply other threads:[~2003-07-27 17:23 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-07-18 21:21 Chris Clearwater
2003-07-19 12:32 ` Sylvain LE GALL
2003-07-19 15:38 ` Richard Jones
2003-07-21 15:18 ` William Lovas
2003-07-24 16:40 ` Eray Ozkural
2003-07-26 7:36 ` Stefano Zacchiroli
2003-07-27 15:36 ` Eray Ozkural [this message]
2003-07-26 20:14 ` [Caml-list] Roadplan for world domination Warren Harris
2003-07-28 14:39 ` Guillaume Marceau
2003-07-29 12:38 ` Damien Doligez
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=200307271836.08601.exa@kablonet.com.tr \
--to=exa@kablonet.com.tr \
--cc=caml-list@inria.fr \
--cc=erayo@cs.bilkent.edu.tr \
--cc=zack@bononia.it \
/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