I just wanted to say that few months ago I started to write a build
system in C,
aiming to fix all those issues, but it's quite in early stage, only
works for simple
projects.
I named it 'cake', as for cooking :)
You will find the source here:
hg clone http://hg.youterm.com/cake
Instead of makefiles you have Cakefiles which are just plain C include
files which
are included from cake.c which should be distributed on every package. Each
Cakefile can include other ones, and they describe by filling structures the
dependencies between modules, programs, libraries that are going to be
built.
At this point you have another .h file that you can use to change the
compiler
profile which is a struct with information about the flags, name, etc..
and when
you type 'make' it compiles 'cake' and runs 'cake' to get the build
done. (make is
used as just a proxy).
cake -i is used to install the compiled results into the system.
I would really like to move this project forward, but as like many other
projects of
mine I only use to develop for them when I have time, or I just simply
need it.
So, if any of you is interested on it, feel free to send me patches or
discuss ideas
about how to design/implement it.
One of the limitations I found is the lack of paralel compilation (like
make -j) that
should be implemented, but having all those structs in memory saves some
time
of Makefile parsing and dependency calculation.
For complex things I would run shellscripts from cake, like in make, but
more explicitly,
so you are always splitting each functionality in a separate file.
--pancake
Received on Tue Jan 26 2010 - 10:09:36 UTC
This archive was generated by hypermail 2.2.0 : Tue Jan 26 2010 - 10:24:02 UTC