On Sun, Jun 09, 2019 at 10:11:32PM -0400, Paul Smith wrote:
> On Sun, 2019-06-09 at 18:24 -0400, David A. Wheeler wrote:
> > Proposed solution:
> > By default, make should check the timestamp of the non-.PHONY target(s)
> > produced after
> > executing a rule, and ensure that their timestamps are
On Sun, Jun 9, 2019 at 10:38 PM Paul Smith wrote:
> On Sun, 2019-06-09 at 18:24 -0400, David A. Wheeler wrote:
> > ...
> > In many cases I suspect this would eliminate calls for using md5
> > hashes and special state; I suspect many of those requests are really
> > trying to deal with problems of
On Sun, 09 Jun 2019 22:11:32 -0400, Paul Smith wrote:
> I don't think this can work, as-is.
>
> It's a common paradigm in make (including POSIX make) where there is a
> rule that could cause a very expensive operation to be started, to
> instead make a cheap test and if it determines the expensiv
On Sun, 2019-06-09 at 18:24 -0400, David A. Wheeler wrote:
> Proposed solution:
> By default, make should check the timestamp of the non-.PHONY target(s)
> produced after
> executing a rule, and ensure that their timestamps are at least equal to the
> timestamps to the files that caused execution
Replying to myself:
If people are uncomfortable making this the default behavior,
then MAKETIMEADJUSTMAX could default to undefined or 0,
and then the outer check would be
if {defined(MAKETIMEADJUST) && MAKETIMEADJUST>0) {
...
}
That would mean that people would have to opt into the
behavior
I'd like to propose that "make" automatically correct timestamps by default.
Details below.
Problem:
Distributed systems are cheap now, enabling "make" to gets lots done
in a short amount of wall clock.
Unfortunately, it's impossible to keep clocks exactly aligned in a distributed
system.
Network