Perforce provides a freely available build
tool alternative to 'make' called Jam. It features a raw C
implementation, conditional compilation to cover a range of file
systems, and a funky declarative syntax that smooches all the
write-only shell hacks 'make' leans on bye-bye. Definitely worth a
look if you are starting a project and need something smarter than
'make' backing up your
ContinuousIntegration.
See
http://www.perforce.com/jam/jam.html
Contrast to
ApacheAnt.
I have looked at Jam in past and had difficulties to get it to work in
directory hierarchies with languages different than C. The problem
was that all targets share a flat name space. This means, that the
same name used in different directories could cause troubles.
Jam
attaches tokens to targets to make them unique but this mechanism
is not part of the base calculus but added later. Otherwise I was
pretty impressed by Jam because it allows a much better re-use of
rules than
Make.
--
ChristianLindig
You need to look into using Jam's explicit grist. This solves the problem of same named file.