[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] maint: remove most recursion in automake's own build system
From: |
Jim Meyering |
Subject: |
Re: [PATCH] maint: remove most recursion in automake's own build system |
Date: |
Thu, 05 Apr 2012 15:55:05 +0200 |
Stefano Lattarini wrote:
> Recursive make-based build systems tend to be slower, more fragile
> and less faithful than "flat" ones. See Peter Miller's article
> "Recursive Make Considered Harmful" for more a more in-depth
> discussion:
>
> <http://miller.emu.id.au/pmiller/books/rmch/>
>
> While in the case of automake this isn't a big problem (given the
> small size of its build systems), it still creates occasional
> glitches and annoyances.
>
> With this change, the use of recursion in Automake's own build
> system is eliminated *but for the testsuite*. Converting that
> is a little more tricky, and better left for a later change (or
> series of changes).
>
> See also commit v1.11-769-gfeeb7f6 of 28-03-2012.
>
> * contrib/Makefile.am, lib/Makefile.am, m4/Makefile.am,
> doc/Makefile.am: Removed, their content merged ...
> * Makefile.am: ... here, with required adjustments and few
> other "opportunistic" changes.
> (SUBDIRS): Update.
> * configure.ac (AC_CONFIG_FILES): Likewise.
> * .gitignore: Likewise.
>
> Signed-off-by: Stefano Lattarini <address@hidden>
> ---
>
> I will push by tomorrow if there is no objection.
>
> Regards,
> Stefano
>
> .gitignore | 33 ++---
> Makefile.am | 414
> +++++++++++++++++++++++++++++++++++++++++++++++----
> configure.ac | 9 +-
> contrib/Makefile.am | 27 ----
> doc/Makefile.am | 91 -----------
> lib/Makefile.am | 162 --------------------
> m4/Makefile.am | 75 ---------
> 7 files changed, 395 insertions(+), 416 deletions(-)
> delete mode 100644 contrib/Makefile.am
> delete mode 100644 doc/Makefile.am
> delete mode 100644 lib/Makefile.am
> delete mode 100644 m4/Makefile.am
Hi Stefano,
I am glad to see that you too are taking an interest in non-recursive make.
I've always liked how bison switched to non-recursive make, and recently
converted cppi to do the same (the final hold-out there is po/, since its
Makefile.in.in is automatically generated).
Did you consider leaving doc-related Makefile.am parts in say,
doc/local.mk, which could then be included from the top-level
Makefile.am, and similarly for lib/ and m4/?
I find that to be more maintainable in that it keeps the
rules in the same directory as the associated files, and the
top-level Makefile.am does not become quite so large.
- [PATCH] maint: remove most recursion in automake's own build system, Stefano Lattarini, 2012/04/05
- Re: [PATCH] maint: remove most recursion in automake's own build system,
Jim Meyering <=
- Re: [PATCH] maint: remove most recursion in automake's own build system, Stefano Lattarini, 2012/04/05
- Re: [PATCH] maint: remove most recursion in automake's own build system, Jim Meyering, 2012/04/05
- Re: [PATCH] maint: remove most recursion in automake's own build system, Stefano Lattarini, 2012/04/06
- Re: [PATCH] maint: remove most recursion in automake's own build system, Jim Meyering, 2012/04/05
- Re: [PATCH] maint: remove most recursion in automake's own build system, Stefano Lattarini, 2012/04/05
- Re: [PATCH] maint: remove most recursion in automake's own build system, Stefano Lattarini, 2012/04/06
- Re: [PATCH] maint: remove most recursion in automake's own build system, Jim Meyering, 2012/04/06
- Re: [PATCH] maint: remove most recursion in automake's own build system, Stefano Lattarini, 2012/04/08
- [PATCH 1/8] tests: move most helper scripts and files into the 'ax' subdirectory, Stefano Lattarini, 2012/04/08
- [PATCH 2/8] tests: remove recipes that run tests with 'prove', Stefano Lattarini, 2012/04/08