[Top][All Lists]

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

Re: Questions on 'make dist'

From: Ralf Wildenhues
Subject: Re: Questions on 'make dist'
Date: Thu, 20 Mar 2008 19:10:39 +0100
User-agent: Mutt/1.5.17+20080114 (2008-01-14)

* NightStrike wrote on Wed, Mar 19, 2008 at 07:02:17PM CET:
> On 3/11/08, Bob Friesenhahn <address@hidden> wrote:
> > On Tue, 11 Mar 2008, NightStrike wrote:
> > >
> > > I had intended to do everything with non-recursive make, but as you
> > > pointed out once, non-recursive is also considered harmful.
> >
> > In what way is non-recursive considered harmful?

Reasons why non-recursive makefiles may be harmful follow.  Some of
these are specific to automake, some are not; some are transient in that
they may be or have already been fixed in newish versions, some are not.
I'm sure you'll be able to find out which is which, otherwise please ask
for details:

- some needed tools have or had bugs preventing them to be easily used
  with subdir in-/outputs, notably: automake, tex(info), non-GNU make,
  and quite rarely, GNU make.

- increase in notational complexity, notably in automake input files:
  the magic variable names (sub_dir_prog_SOURCES etc.) grow longer.

- typically a size increase in automake output files, as per-target
  flags are needed more often (as opposed to using makefile-wide AM_*
  flags), resulting in more per-target rules.

- longer file names result in more expensive file name lookups, and
  longer command line lengths, thus hit the command line length limit
  of some operating systems earlier.

Note that none of these preclude a mixed setup, i.e., it is fine to have
far fewer makefiles than directories.  And certainly, it is beneficial
to merge makefiles for highly intertwined directories, whereas loosely
coupled ones (for example source vs. documentation) often do not benefit
significantly from either more precise dependency relations nor from a
large speedup.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]