I don't know if this will bounce, because the mail system I'm using changed from Notes to Outlook since the last time I tried this...
It seems like the questions you're asking are: 1. What was used to make target 'X' of 5 May 2022? 2. How is that different from yesterday's build? In order to answer those questions, particularly after-the-fact, you would need some fairly fine-grained build auditing. I know of one (very expensive) proprietary SCM system with that capability (Disclaimer : it's sold by my employer). And it does so using a driver that monitors filesystem transactions in its special filesystem to do it. I don't know if there are any open source tools that will let you do that. There are also build "cache" tools (ccache?) that may give you at least SOME idea. -----Original Message----- From: Help-make <help-make-bounces+cowanb22=us.ibm....@gnu.org> On Behalf Of Paul Smith Sent: Thursday, May 5, 2022 12:54 PM To: nikhil jain <jainnikhi...@gmail.com> Cc: help-make <help-make@gnu.org> Subject: [EXTERNAL] Re: GMAKE 3.81 vs GMAKE 4.2 On Thu, 2022-05-05 at 21:41 +0530, nikhil jain wrote: > Correct, but how do i know its a incremental or full ? any ENV is set > which says it is incremental or full ? There's no possible way to know. No make invocation will ever build every target in the makefile in any real-world makefile (consider targets like "clean", "test", "install", etc.) If you want to restrict it to say "is every prerequisite of target A that I could possibly build, rebuilt? Or was one or more already up to date?" that would be possible to know, but only AFTER the entire build has completed obviously. So, an environment variable is useless: it couldn't be set until make was just about to exit and once it exits of course all its environment variables are gone. Currently as far as I'm aware there's nothing in GNU make that tracks this information, so it's not even possible to print that information out. That tracking would have to be added.