From: Alejandro Colomar <alx@kernel.org>
To: Ingo Schwarze <schwarze@usta.de>
Cc: Larry Kollar <larry.kollar@icloud.com>, Groff <groff@gnu.org>,
linux-man@vger.kernel.org
Subject: configure separate from make or not (was: Using LS/LE)
Date: Sat, 29 Aug 2026 15:10:25 +0200 [thread overview]
Message-ID: <apLV749V4YvfqCOZ@devuan> (raw)
In-Reply-To: <apKou1PHGi1N5gGO@isnote.usta.de>
[-- Attachment #1: Type: text/plain, Size: 2398 bytes --]
Hi Ingo,
> Date: 2026-08-29 11:39:20+0200
> From: Ingo Schwarze <schwarze@usta.de>
>
[...]
>
> I think the main reason why build system developers don't usually
> run configure automatically from the Makefile is that from a user
> perspective, it makes sense to keep the two steps "inspect the
> configuration and make some decisions, but do not start building
> anything just yet" and "build the stuff, using the variables and
> decisions made at the configure stage" separate. Users may even
> want to pause between the two steps, consider the decisions made,
> for example by inspecting configure output files like config.h
> or Makefile.local or, in case serious debugging is needed, config.log
> and maybe even change some of the decisions manually and re-run
> configure, even though autoconf(1) makes both steps, inspection
> and manipulation of decisions, gratuitiously hard, both by spewing
> vast amounts of noise and by the ./configure script being next to
> unreadable. But saner, better-written configure scripts can make
> both inspection and manipulation quite simple and pleasant.
>
> Running the configure script automatically from the Makefile
> would remove this opportunity for inspection and tweaking.
In the Linux man-pages, the configure step is done entirely within
make(1) --there's no separate ./configure step--. But as you say,
a separate configure-only step is important for serious debugging.
The solution I implemented is a 'nothing' target in the Makefile, which
as the name implies, does nothing. However, it still runs the
configuration step, since that runs as part of parsing the makefiles.
Here's the rule:
nothing:;
When I need to debug the build system itself, I run that target; often
with special flags for debugging. One common command I use when I need
to do this kind of debugging is:
$ make -p nothing | less
And if I need to see stderr output from the commands used by the
configure scripts, here's a common command:
$ make HIDE_ERR= nothing
I'm not saying that this should be done, but this _can_ be done. With
BSD make(1), it might be more difficult to debug, since it doesn't have
the -p flag. But the output from configure tests can still be read
without building anything, with a dummy 'nothing' rule.
Have a lovely day!
Alex
--
<https://www.alejandro-colomar.es>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2026-08-29 13:10 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
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 ` Alejandro Colomar [this message]
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=apLV749V4YvfqCOZ@devuan \
--to=alx@kernel.org \
--cc=groff@gnu.org \
--cc=larry.kollar@icloud.com \
--cc=linux-man@vger.kernel.org \
--cc=schwarze@usta.de \
/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