I've had several ideas I'd like to run them by everyone.
I'm posting them as separate emails so they can be discussed separately.
In this email I'd like to propose a new special target .MUSTCREATE.
Background:
In my makefiles a target should *always* be either .PHONY or
create that file when its r
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
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
On Sun, 2019-06-09 at 17:13 -0400, David A. Wheeler wrote:
> I propose a new special target .MUSTCREATE.
> Its prerequisites would list the targets that would fail in error
> if the target rule is run and it fails to create the target.
> If there's nothing on the list, then all non-.PHONY targets w
Idea: Allow certain special targets as dependencies
Problem:
It's often the case that a target also needs to be a special target. E.g.:
.PHONY: all
all: do-this do-that
Obviously this *works*, but it consumes many extra lines &
requires duplication of target names. For example,
if you misspell t
I propose allowing $(name ...) as an abbrevation of $(call name ).
Problem:
You currently have to use the somewhat ugly construct $(call name...)
to call something. If you use functions a lot that's a little ugly.
There's also no need for it. If "name" is followed by whitespace it *cannot*
b
On Sun, 09 Jun 2019 18:34:47 -0400, Paul Smith wrote:
> A pseudo-target .WONTCREATE:
> If that target exists in the makefile then the target existence
> checking is enabled, as follows:
> - Any PHONY rule is not considered
> - After any target is built that actually invoked at least one command,
>
On Sun, 2019-06-09 at 18:46 -0400, David A. Wheeler wrote:
> As syntactic sugar,
> I'd like to see selected special targets allowed as dependencies.
> When this happens, it's the same thing as if the target was listed
> as a dependency of the special target. E.g., you could express
> the same thing
On Sun, 2019-06-09 at 19:21 -0400, David A. Wheeler wrote:
> If I understand correctly, that means that a single:
> .WONTCREATE:
> will be enough to detect a problem if *all* my rules
> are supposed to always create the non-PHONY targets.
Yes, that's the idea.
___
On Sun, 2019-06-09 at 18:53 -0400, David A. Wheeler wrote:
> There's also no need for it. If "name" is followed by whitespace it *cannot*
> be a POSIX variable reference, because POSIX doesn't allow that.
>
> Solution:
> Just allow $(name ...), where 1+ whitespace follows name, to be considered
>
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
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 Mon, 10 Jun 2019 11:56:04 +0900, Masahiro Yamada
wrote:
> It is a design.
Sure, but we can add to it.
> In summary, there is slight difference between
> a variable and a user-defined function.
> Omitting 'call' makes obscure the difference between them.
I don't think it obscures the differe
On Mon, Jun 10, 2019 at 10:38 AM Paul Smith wrote:
>
> On Sun, 2019-06-09 at 18:46 -0400, David A. Wheeler wrote:
> > As syntactic sugar,
> > I'd like to see selected special targets allowed as dependencies.
> > When this happens, it's the same thing as if the target was listed
> > as a dependency
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
15 matches
Mail list logo