[Top][All Lists]

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

SUBDIRS and libraries [Was: Re: [PATCH] Fix problem with generation of m

From: Luca Saiu
Subject: SUBDIRS and libraries [Was: Re: [PATCH] Fix problem with generation of man/poke.1]
Date: Thu, 14 Nov 2019 19:40:03 +0100
User-agent: Gnus (Gnus v5.13), GNU Emacs 27.0.50, x86_64-pc-linux-gnu


On 2019-11-14 at 13:00 +0100, John Darrington wrote:

> FWIW: I recommend not using the SUBDIRS feature of automake.  Instead,
> use a non recursive makefile system - it's faster and more reliable.
> See Peter Miller's paper "Recursive Make Considererd Harmfull".

I strongly agree.  Occasionally it is even useful to find Automake bugs.
Which, as a more serious remark, reminds us that non-recursive Makefiles
are much less heavily tested.

SUBDIRS is still required for Gnulib and Jitter, but I would limit its
use to those cases.  Speaking of which: what is the *proper* way of
declaring a link-time dependency on a library which is built in a
subdirectory with its own Makefile, apart from an explicit (MAKE) call
at the beginning of a rule body or something else similarly defeating
the purpose of parallel builds?  Every time I have to do something
similar I feel uneasy with respect to parallel make.  I use parallel
make a lot and I think I have never seen failures caused by this, but
still linking a library with target_LDFLAGS or similar in Automake is
probably not enough to automatically discover dependencies.

I have used the non-recursive style for so long that now I have doubts
about the traditional solution.  Are we supposed to use
target_DEPENDENCIES for libraries given in target_LDFLAGS ?


Luca Saiu
* My personal web site:  http://ageinghacker.net
* GNU epsilon:           http://www.gnu.org/software/epsilon
* Jitter:                http://ageinghacker.net/projects/jitter

I support everyone's freedom of mocking any opinion or belief, no
matter how deeply held, with open disrespect and the same unrelented
enthusiasm of a toddler who has just learned the word "poo".

Attachment: signature.asc
Description: PGP signature

reply via email to

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