help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: GMAKE 3.81 vs GMAKE 4.2


From: Brian Cowan
Subject: RE: GMAKE 3.81 vs GMAKE 4.2
Date: Thu, 5 May 2022 17:16:52 +0000

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.com@gnu.org> On Behalf Of 
Paul Smith
Sent: Thursday, May 5, 2022 12:54 PM
To: nikhil jain <jainnikhil28@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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]