bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU make troubleshooting


From: David Boyce
Subject: Re: GNU make troubleshooting
Date: Sat, 15 Jul 2023 21:08:02 -0400

Minor side point: the "tail +7" option is deprecated by POSIX, replaced by "tail -n+7". Official GNU documentation should preferably follow POSIX.

David

On Sat, Jul 15, 2023 at 5:27 PM Bruno Haible <bruno@clisp.org> wrote:
Dmitry Goncharov wrote:
> > 1) The title, and what does the user want?
> This patch is not a full-fledged troubleshooting guide.
...
> > Is that really what I want to do and should do, as a user?
> i believe, makefile authors should apply these techniques.

OK, then it's appropriate to create *three* new sections:
  * In the chapter "Troubleshooting":
      - "Which rules would be executed, and why?"
  * In an appendix or chapter "Optimizing Makefiles"
      - "Disabling implicit rules entirely"
        => MAKEFLAGS
      - "Disabling implicit rules for a particular target"
        => makefile::;

The sections can have some overlap, e.g. all of these three will
use "make -n -d", but with different focus.

> How about "How to relieve make from redundant work and reduce the
> amount of debug output."?

I believe these two user goals are so different; they belong in different
chapters.

> My opinion is that, large amounts of debug output is not the problem.

I disagree: I believe that 80%-90% of the developers, when they see
1000 lines of debug/trace output, give up understanding it after 5 seconds
and try alternative approaches. (This is based on observing the habits
of my developer colleagues at work.)

> > Can the addition of 'makefile::;' be replaced by a make option or
> > by some (sed-based?) postprocessing?
>
> There is no option.
> You can grep away most of the matching lines with 'grep -v makefile'.

Then it's useful to present this as a filter in the troubleshooting
section.

Bruno





reply via email to

[Prev in Thread] Current Thread [Next in Thread]