lua-users home
lua-l archive

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


On Mon, Oct 16, 2006 at 10:38:34PM +0100, David Given wrote:
> and the *first* source file of each Special Object, when
> preprocessed, produces an extra .o file that needs to be passed directly to
> the linker. This all has to handle C dependencies correctly,

BTW a subtle bit of GNU make behavior is that pattern rules (but not
normal rules) can do proper dependency handling when a single input
file produces multiple output files.  A typical use case would be
bison, which usually produces both .c and .h files from a single .y
file.  Admittedly the patterns might be tricky to get right sometimes.

> (If you're interested, I solved that one by writing a Lua makefile generator,
> where the makefile specified absolutely everything explicitly.

I agree with the other comment that fully explicit makefiles can be a
completely reasonable technique.  I've done that on projects myself.

And I'll concur that recursive makefiles are undesireable.  A current
project builds in several directories using a single Makefile, which
is great because it's able to do full parallel builds based on
dependency information.  We do have a couple of "include" directives
to pull in things like the compiler settings at runtime, but no
recursion.

Prime mover does sound interesting, but the lack of parallel builds
would be painful on the SMP systems I deal with.

                                                  -Dave Dodge