|
From: | Peter Lawrence |
Subject: | Re: insufficient debug info from gnu-make |
Date: | Sun, 1 Aug 2010 09:05:00 -0700 |
Philip,since your suggestion, I went back and re-read that section of the manual and did find the --print-directory option.Thank you. but, that's not the real point of my email.
the output I see from make is after all macro substitutions have been made, which can make it virtually impossible
to recognize as far as where it came from in the original source great if you want to see what was actually executed,not so great if you want to figure out where in the make sources you need to start looking,
both are realistic wants.when things get as messy as gcc's makefiles, I'ld like to be able to see both the before and after macro substitutions
versions of the commands lines.........or, at least the line numbers (along with directory/filename) so I know where to look in the original source
the output we have now from make is akin to if gcc only gave syntax error information relative to the post-preprocessor-ouput, or akin to those early C++ compilers that translated to C rather than native code so when there was a syntax error in the C output you got C line numbers rather than the line number of the original C++ source code.
Although these types of problems for users have actually happened in the real world, the compiler writers have always eventually done the right thing and supplied the user with original- source-code line number information
what can gnu-make do to ease the problems we're having trying to use it on the really big and messy makefiles we're
seeing these days ? -Peter Lawrence. plus On Jul 31, 2010, at 8:15 PM, Philip Guenther wrote:
On Sat, Jul 31, 2010 at 7:19 PM, Peter Lawrence <address@hidden> wrote:On Jul 31, 2010, at 9:41 AM, Eli Zaretskii wrote:one thing I remember in detail about Sun's make, is that instead of writing a level number make[3]: ... make[2]: ... make[1]: ... it wrote out the directory that the commands had cd'ed to before recursing (and maybe the file name, can't be sure any more) make[foo/bar]: ... make[foo]: ... make[.]: ...GNU Make displays the equivalent "Entering directory foo..." and "Leaving directory foo..." messages. Isn't that the same info?the words "Entering" and "Leaving" never appear in the output I captured....So are you going to read the GNU make info pages to see what conditions make will generate those messages and how something might have suppressed them? Perhaps the gcc maintainers have decided that they hate those messages and have told GNU make to not generate them. If so, complaining to make developers will result in absolutely no progress. You need to figure out who actually has control over the stuff that's bugging you.typical output from gnu-make when making gcc is such tossed-salad-scrambled-eggs that nothing is readable, most lines are hundreds of characters long, as you can see below the average is over 400 chars/line, here is some sample output from my failed build, you can't really tell much of anything from reading this outputThat problem (monstrously long compile lines) has absolutely nothing to do with make and there's nothing that make can do about it. That's just a problem with the makefile itself and needs to be taken up with the authors of that. Philip Guenther
[Prev in Thread] | Current Thread | [Next in Thread] |