Thanks Paul and Brian. I understand Now it's not possible to find out if it was an incremental build or a full build.
What about the second question ? Before exiting make, I want to display the status of the build if it failed or passed.. how do I do that ? Does make store the exit code somewhere. Re-Iterating - I want to display the status of the build before make exits. I do not want the shell which called make to fetch the status. This is a requirement in which I need to tell the user that your build was completed successfully or had issues. Please provide some ideas on this. thanks Nikhil On Thu, May 5, 2022 at 10:46 PM Brian Cowan <cowan...@us.ibm.com> wrote: > 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. > >