From: Alejandro Colomar <alx@kernel.org>
To: Collin Funk <collin.funk1@gmail.com>
Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com>,
linux-man@vger.kernel.org, groff@gnu.org
Subject: Re: Using LS/LE
Date: Mon, 24 Aug 2026 13:08:31 +0200 [thread overview]
Message-ID: <aowkO-r86nquaTh8@devuan> (raw)
In-Reply-To: <87h5kk1dlp.fsf@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3100 bytes --]
Hi Collin,
> Date: 2026-08-23 19:01:06-0700
> From: Collin Funk <collin.funk1@gmail.com>
>
> "G. Branden Robinson" <g.branden.robinson@gmail.com> writes:
>
> >> Interesting. The day someone complains again about my makefiles, I'll
> >> point to this data. I checked a few other projects out of curiosity:
> >>
> >> alx@devuan:~/src/shadow/shadow/master$ find | grep '\.am$' | grep -v gnulib | sort | xargs wc -c | tail -n1
> >> 31885 total
> >> alx@devuan:~/src/gnu/glibc/master$ find | grep '\.am$' | grep -v gnulib | sort | xargs wc -c | tail -n1
> >> 0
> >> alx@devuan:~/src/gnu/gcc/master$ find | grep '\.am$' | grep -v gnulib | sort | xargs wc -c | tail -n1
> >> 1527474 total
> >> alx@devuan:~/src/gnu/coreutils/master$ find | grep '\.am$' | grep -v gnulib | sort | xargs wc -c | tail -n1
> >> 8171 ./Makefile.am
> >> alx@devuan:~/src/gnu/findutils/master$ find | grep '\.am$' | grep -v gnulib | sort | xargs wc -c | tail -n1
> >> 35765 total
> >>
> >> Does glibc not use automake? What do they use?
> >
> > Hand-written Makefiles, apparently! For a while I followed their Git
> > commits, but I'm well behind on them. glibc and GCC saturated my
> > ability to keep up with the projects I track.
>
> Yes, glibc uses GNU make extensively. It is quite difficult to read if
> you do not understand GNU make extensions, compared to Automake which is
> for the most part just declaring targets and sources.
'for the most part' of the text written. Then you have to understand
everything that isn't written, which is more difficult than grepping in
the GNU Make manual for a few extensions.
You don't know '?:=' in GNU Make, then grep for '?:=' in the GNU Make
manual. Simple.
You don't know why/how Automake is doing something? Good luck guessing
why.
> It also requires
> more upkeep to make sure things work correctly, e.g., parallelism.
This is not true. The shadow-utils project (which uses autotools) has
bugs open for years because `make dist -j4` doesn't work (and it hasn't
been fixed yet).
The Linux man-pages build system works fine with -j128. Ignoring the
initial cost in writing the build system, maintenance is quite cheap.
And if a bug ever shows up in the GNU Make code, I'm confident it'll
take a few minutes to debug it and fix it.
The parallelism problem in makefiles comes from incorrect use of
makefiles. That is, use of recursive make(1). But recursive make(1) is
discouraged. If you have a single make(1) process controlling
everything, it runs smoothly.
> So, I don't think pointing out that Automake files have a similar file
> size to regular Makefiles is a good comparison.
Given the same size, Automake is less readable, because it has more
implicit assumptions. In GNU Make, there are very few assumptions, and
I bring that to zero by disabling the builtins. If you can't read the
grammar, it's a matter of reading the documentation. GNU Make has
pretty good documentation.
Have a lovely day!
Alex
>
> Collin
--
<https://www.alejandro-colomar.es>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2026-08-24 11:08 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-03 19:21 [PATCH v4 2/4] man/man5/tunables.conf: Document system-wide tunables config DJ Delorie
2026-08-06 14:37 ` Alejandro Colomar
2026-08-06 15:33 ` DJ Delorie
2026-08-06 19:14 ` Alejandro Colomar
2026-08-06 20:17 ` DJ Delorie
2026-08-06 20:31 ` Alejandro Colomar
2026-08-06 20:42 ` DJ Delorie
2026-08-07 2:12 ` G. Branden Robinson
2026-08-07 3:29 ` DJ Delorie
2026-08-07 3:49 ` G. Branden Robinson
2026-08-07 4:01 ` DJ Delorie
2026-08-07 4:09 ` G. Branden Robinson
2026-08-23 12:29 ` Using LS/LE (was: [PATCH v4 2/4] man/man5/tunables.conf: Document system-wide tunables config) Alejandro Colomar
2026-08-23 13:27 ` G. Branden Robinson
2026-08-23 13:55 ` Alejandro Colomar
2026-08-23 14:16 ` G. Branden Robinson
2026-08-23 15:06 ` Alejandro Colomar
2026-08-23 16:44 ` G. Branden Robinson
2026-08-23 19:30 ` Alejandro Colomar
2026-08-23 20:40 ` G. Branden Robinson
2026-08-23 23:11 ` Alejandro Colomar
2026-08-24 1:11 ` G. Branden Robinson
2026-08-24 2:01 ` Using LS/LE Collin Funk
2026-08-24 11:08 ` Alejandro Colomar [this message]
2026-08-24 11:00 ` Using LS/LE (was: [PATCH v4 2/4] man/man5/tunables.conf: Document system-wide tunables config) Alejandro Colomar
2026-08-23 22:31 ` autotools, was: Using LS/LE Ingo Schwarze
2026-08-24 0:09 ` Alejandro Colomar
2026-08-29 4:36 ` G. Branden Robinson
2026-08-29 11:34 ` Ingo Schwarze
2026-08-29 12:51 ` Alejandro Colomar
2026-08-29 19:16 ` G. Branden Robinson
2026-08-29 21:43 ` Alejandro Colomar
[not found] ` <8DE76435-CBDB-42D6-9E0F-9E27291560B6@icloud.com>
2026-08-29 8:42 ` Using LS/LE (was: [PATCH v4 2/4] man/man5/tunables.conf: Document system-wide tunables config) Alejandro Colomar
2026-08-29 8:45 ` Alejandro Colomar
2026-08-29 8:52 ` Alejandro Colomar
2026-08-29 9:02 ` Alejandro Colomar
2026-08-29 9:39 ` Ingo Schwarze
2026-08-29 13:10 ` configure separate from make or not (was: Using LS/LE) Alejandro Colomar
2026-08-29 15:31 ` configure separate from make or not Ingo Schwarze
2026-08-29 20:49 ` Alejandro Colomar
2026-08-30 13:17 ` Alejandro Colomar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aowkO-r86nquaTh8@devuan \
--to=alx@kernel.org \
--cc=collin.funk1@gmail.com \
--cc=g.branden.robinson@gmail.com \
--cc=groff@gnu.org \
--cc=linux-man@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox