[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 |
Hello.
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 ?
Regards,
--
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".
signature.asc
Description: PGP signature