TCLUG Development Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [TCLUG-DEVEL:93] Ptah



On Mon, Feb 21, 2000 at 11:50:56AM -0600, John R. Sheets wrote:
> On Monday, February 21, 2000, "Eric M. Hopper" <hopper@omnifarious.mn.org> wrote:
> > 
> > 	It's a powerful, simplifying tool if you want the standard GNU
> > targets, and don't have recursive makes that have dependencies between
> > subdirectories.  It's main purpose is to make it easy to generate
> > makefiles that have the standard GNU targets.
> 
> Yeah, I do find the inter-directory relationships rather clunky.  I
> usually end up creating helper libraries (noinst_LTLIBRARIES) to
> compile code in subdirectories, which I then statically link with my
> application, or whatever.  Pretty clumsy, but easy enough to set up.
> I'm not sure what the problem is, implentationwise, which keeps
> automake from supporting this in a more sane way.  Oh well.  Not
> really a show-stopper.  Was this your main complaint?  It's not that
> hard to work around it....

	Well, add variant builds (build for both debugging and
non-debugging, and/or with a Sparc and i386 target) and automatic
dependency generation for header files, and things start getting really
hairy.  Automake does do auto-dependency generation, but I think it does
this as a seperate step from 'make', and it requires a compiler that
supports -M.

	The best one for variant builds is 'odin', although it works
sufficiently differently from other tools to annoy developers and make
them nervous about what it's doing.

	None of the newer make replacements really handle
auto-dependency generation in a manner I find satisfying.  They all use
scanning to look for #include statements, which is very ugly, especially
given that the C pre-processor has lots to say about what files are
#included.

	The reason automake give you a non-workaround solution to
inter-directory dependencies it because it creates a Makefile.  This is
an inherent limitation of make.

Have fun (if at all possible),
-- 
Its name is Public Opinion.  It is held in reverence. It settles everything.
Some think it is the voice of God.  Loyalty to petrified opinion never yet
broke a chain or freed a human soul.     ---Mark Twain
-- Eric Hopper (hopper@omnifarious.mn.org  http://omnifarious.mn.org/~hopper) --

PGP signature