Re: Using LS/LE
Alejandro Colomar <[email protected]>
| Newsgroups | gmane.comp.printing.groff.general,gmane.linux.man |
|---|---|
| Message-ID | <aowkO-r86nquaTh8@devuan> |
Hi Collin, > Date: 2026-08-23 19:01:06-0700 > From: Collin Funk <[email protected]> > > "G. Branden Robinson" <[email protected]> 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>
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEES7Jt9u9GbmlWADAi64mZXMKQwqkFAmqMJi8ACgkQ64mZXMKQ wqkapw//SbH5waTlJnMFRhMknrWO2k0w5V6/Oea/RmfQ6FHJc2QEfdYhGcZxtGmT oFZnOOL1EH726akSsAm015LhQV6zQ014hp1MFIqbMsn6Rf0LxgXOtghQ3zUwFaKa hnt+UKa0oRI7kONXl3ym4Oiu/6DIqSOJ2zx6JU8VRAw9A0JkyrgDsC026cv0ZdWj xfFl2aTd10gPoEHu+mRrf5U9PG+u5DLbaC9iXj+cXL8t30I34X25wVJhPyUws82q WYFSyy9Sv2t4o6p05H3tVMD5S3ITGiWMZvAE0ulAFxueQdxeG/E9hPHOzHinedSq nzRYY+D2zua8Z23xvoV/03pWv5I+X32L+tHzts41i0eeRSFqly6e0pvjZziXAwdt jmAKyj16MT0jKCFyOB9L7W2knmh7uubfbJFAL79sdqdWvL5ey94jnickckFDVlJU liCqVjpFTL9yr/AtrIO1dcIGJ4Jqx11JT55MF17veNt/9ozRJPErIBcFmldmwcpC gZ6DN9sDCwTkv7/I29EeTA/7opj/l5tf6Z2Gt260d0iZfw0zp1Sed15SyRPs7szc UehjWs0oNpA05umktchNML9mgHq9YzAV3MPyBQ5SHtbb0to4Jw3qa09p1+kJWbGy v1NOTtsjib+dKGzJxhGr9GsYLdPFCfPvlgjmL4p6WrHuA4DoOcQ= =tIB7 -----END PGP SIGNATURE-----