lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Fri, Oct 13, 2006 at 06:44:58PM -0700, Wesley Smith wrote:
> I can't tell you how much I agree you here.  Everytime I've tried to
> use make to build a project of any size that uses subdirectories, it
> has been a nightmare of looking at GNU's make documentation and
> wondering who on earth made such an esoteric beast.  I wonder if the

make doesn't care what directory your files are in, you haven't figured
out how to use the tool yet if that is causing you trouble.

People have trouble with make because they attempt to use it as an
imperative language. Its not, its a rules-based language (akin to logic
languages like Prolog) wherein you state the conditions that must hold
for a particular goal ("target") to be satisfied. I think its the only
language of that type that is commonly used.

The other thing that people don't get about make is its a unix tool. It
does ONE thing well, evaluating dependency rules to determine how to
achieve goals. The rules themselves are usually built statically, in a
language other than make, i.e., you have to mix make with other tools
for a complete build system.  In particular, dependency rules should be
built by a tool that knows as much as possible about C code... like
a C compiler:

	http://make.paulandlesley.org/autodep.html

Cheers,
Sam