The new silent rule for build is too silent as it no longer show what action is being done. Yet we still get the "Entering" and "Leaving" from make. I like to have the name of the source being compiled.
You can use make's --no-print-directory to suppress the entering/leaving messages. And if you don't want silent builds, just don't use -s.
Surely that still prints the compiler invocation. Why don't you introduce a --really-don't-let-me-see-a-thing instead for your use case?
No, I agree with njn, which is why I r+ed his patch to remove that. If you don't want a silent make, don't use -s.
I want something in between. I want to see what file is being build, not the whole invocation line. -s use to provide that but no longer.
I have to agree with Hub here. The new setup means that I have to drop -s to have any idea what stage the build is in, which has a quite noticeable effect on build times (about 20% larger last I measured). The point being that I _don't_ want silent builds. I just want builds that aren't slowed down by the fact that most terminals seem to suck at handling the massive amounts of spew we generate without -s because each of our compile lines is a kilometer long. So how do I go about getting what I want? I don't care whether it's done via -s or not, but we do need a way to do it.
I agree with the others who want some indication of where a build is but don't want all info. I'd note that bhackett seems to agree with the rest of us on this, going by bug 703456 comment 5.
Seems like having a -s(ilent) & also a -q(uiet) mode, might be the best way to satisfy both camps here?
(In reply to Ed Morley [:edmorley] from comment #7) > Seems like having a -s(ilent) & also a -q(uiet) mode, might be the best way > to satisfy both camps here? This would work for me. Can I reopen this without it getting WONTFIX'ed again?
(In reply to Ed Morley [:edmorley] from comment #7) > Seems like having a -s(ilent) & also a -q(uiet) mode, might be the best way > to satisfy both camps here? That would work for me.
Ask forgiveness, not permission. Resummarizing to make it clear what problem we want solved.
I'll be honest, I don't ever use |make -s|, so I really don't care what you do here.
Several people have said "I like to see what file is being built" but nobody has explained why. Can someone do that? I guess people will say "so I know where the build is" but I don't see why that's useful -- what action can you take based on that information? I'll explain why I don't like it -- it's IMO useless output that makes it harder to see useful output like compile warnings. In my perfect world there'd be no output other than compile warnings (and bug 703121 would be enabled which would mean there would be no warnings). I.e. the Unix "silence meant nothing unusual happened" approach. (Or, a very small amount of output for the entire build -- e.g. little enough that it doesn't overflow a terminal window -- would be acceptable too, IMO.)
(In reply to Nicholas Nethercote [:njn] from comment #12) > Several people have said "I like to see what file is being built" but nobody > has explained why. Can someone do that? I guess people will say "so I know > where the build is" but I don't see why that's useful -- what action can you > take based on that information? Comment 5 and bug 703456 comment 5 explain why; it *is* "so I know where the build is". Knowing that lets me quickly determine how far along the build is, and estimate when it will be completed. I can then do work somewhere else while the build progresses, and come back to it shortly after it completes. Emphasis here on "shortly" --- speeding up the edit-compile-debug cycle requires minimizing the time a build sits idle. The other half of it is personal preference. As evidenced in this bug people like to do things in different ways, and I don't think people should need to give strong justifications for their personal workflow.
> what action can you take based on that information? Decide whether now is a good time to go have a snack for a bit, say. Or decide whether the part I cared about has built now so that I know my patch compiles and it's ok to stop the build. Or figure out whether the right -j settings are being used.... Or figure out whether the files that should get built are getting built, when I'm manually running make -C in some directories. Note that all this information is more useful to me than warnings, which just scroll up and get ignored for toplevel builds... Again, I'm not against having a mode to do what you want (complete silence modulo warnings), or even that mode being triggered with -s. I'd just like a way to trigger the other behavior as well.
As mentioned in bug 703456, I am also a big fan of the old behavior.
Created attachment 579918 [details] [diff] [review] patch to print name of file being compiled I talked to luke, dvander, and terrence about this. All of us like the old way better, where it prints the name of the file. This patch backs out the original patch. Everyone except njn can get the behavior they want with make -s. Nick, you can get what you want with: alias make=make -s REPORT_BUILD= or some such.
Comment on attachment 579918 [details] [diff] [review] patch to print name of file being compiled I concede defeat. Actually, I'm going to do some work to make sure that: make ... > /dev/null gives me what I want, i.e. just warnings and errors. Currently it includes a bunch of other crap.