On Wed, 2013-07-17 at 17:07 +0200, Frank Heckenbach wrote: > May I remind you of my mail of May 26: > http://lists.gnu.org/archive/html/bug-make/2013-05/msg00137.html > > Besides a little cleanup patch, I show in this mail that > "--trace=dir" is not completely sufficient as currently implemented > (including test case). > > I realize that you don't like the full tracing (as implemented both > in my original output-sync patch and the patch in the > above-mentioned email) by default, but as I suggested there, could > we at least make it optional (e.g. "--trace=dir-verbose")? Would you > like me to amend my patch to add such an option?
I've reworked the output methods for make a good bit. Hopefully the code is somewhat simpler and more understandable. Sorry for the larger changes, but it seemed necessary to get consistent behavior. Eli, I hope I haven't broken any of the Windows ports. One of the issues you were running into with your makefile is that output from functions like $(info ...) that were expanded inside the recipe were simply being printed to stdout directly rather than to the sync file. I fixed this so that it shouldn't be possible to get output outside the appropriate Enter/Leave messages. I also threw out the --trace=dir concept, and went back to the simpler model where if directory tracking is enabled you get enter/leave around each output block, and if it's not enabled you don't get enter/leave at all. I can't see a reason to keep "partial" enter/leave messages. I think there may still be some change needed for directory tracking for the -Orecurse mode. If we're collecting output for an entire recursive make invocation we don't need enter/leave notifications around each individual target or line, which is what we have now. We only need it around the entire makefile. I'll look into this. Please test and verify that the enter/leave messages you need are present and accurate. _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make