On Mon, Jun 10, 2019 at 12:46 PM David A. Wheeler wrote:
>
> 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
On further reflection I noticed a bug in my .CACHE proposal.
Below is a discussion of the bug, and my proposed solution to it.
The proposed solution turns out to be a minor change,
but it might not be obvious why it needed changing.
So I'm explaining that in detail below.
TL; DR version: If .CACH
On Mon, 10 Jun 2019 15:40:53 -0800, Britton Kerin
wrote:
> No, just the rules that :Makefile, which you can easily tune if it matters.
> Heck, you can include some_fragment.mk that has the recipes that
> are a concern and depend on that if you really need that granularity,
> and then the dependen
> You can probably make a case for either one, but .ONESHELL already
exists, so let's just expand what's already there.
It's also worth noting that .ONESHELL is a recommendation from POSIX.
There's a note in POSIX.2 that says something along the lines of "Recipes
should have been passed to a singl
On Mon, Jun 10, 2019 at 2:18 PM David A. Wheeler wrote:
>
> On Mon, 10 Jun 2019 12:10:26 -0800, Britton Kerin
> wrote:
> > The trickery required is not too fancy:
> >
> > foo.o: foo.c Makefile
> > ...
> > or
> >
> > foo.o: foo.c $(PARANOID_REBUILD)
> > ...
> >
> On Mon, Jun 10, 2019 at 4:56 AM David A. Wheeler
> wrote:
> > Another idea: Enable .ONESHELL to be per-target.
On Mon, 10 Jun 2019 11:47:19 -0800, Britton Kerin
wrote:
> Strongly seconded, I would definitely use this. I've been
> attracted to it many times but never dared try globally.
> Wo
On Mon, 10 Jun 2019 22:46:23 +0100, Tim Murphy wrote:
> If you can't make first-class functions that are the equal of $(filter) or
> $(subst) or whatever, or indeed replace them, then it seems like a bit of a
> fudge for the sake of 4 characters.
You can make functions that do the work of $(filte
On Mon, 10 Jun 2019 12:10:26 -0800, Britton Kerin
wrote:
> The trickery required is not too fancy:
>
> foo.o: foo.c Makefile
> ...
> or
>
> foo.o: foo.c $(PARANOID_REBUILD)
> ...
>
> Then use when desired:
> (export PARANOID_REBUILD=Makefile && Make)
N
If you can't make first-class functions that are the equal of $(filter) or
$(subst) or whatever, or indeed replace them, then it seems like a bit of a
fudge for the sake of 4 characters.
I think one could end up having huge discussions about this to a pretty
limited benefit and miss spending the t
On Mon, Jun 10, 2019 at 9:20 AM David A. Wheeler wrote:
>
> Idea: Add .COMMANDCHANGE and .CACHE
>
> Problem:
>
> Paul Smith noted on Sun, 09 Jun 2019 22:11:32 -0400:
> > Most of the requests I see these days that would require a "last state
> > database" wouldn't be helped by md5 checks: mainly th
On Mon, Jun 10, 2019 at 4:56 AM David A. Wheeler wrote:
>
> Another idea: Enable .ONESHELL to be per-target.
>
> Problem: According to the docs .ONESHELL is global in effect,
> so using it in an existing makefile requires a lot of rework.
Strongly seconded, I would definitely use this. I've been
Idea: Add .COMMANDCHANGE and .CACHE
Problem:
Paul Smith noted on Sun, 09 Jun 2019 22:11:32 -0400:
> Most of the requests I see these days that would require a "last state
> database" wouldn't be helped by md5 checks: mainly they're asking for
> things like rebuilding targets automatically when co
Another idea: Enable .ONESHELL to be per-target.
Problem: According to the docs .ONESHELL is global in effect,
so using it in an existing makefile requires a lot of rework.
In many cases .ONESHELL is primarily only useful only
for specific rules, and there's no need to rewrite the rest.
The curre
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
Hi.
On Mon, Jun 10, 2019 at 10:55 AM Paul Smith wrote:
>
> 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 al
On Sun, Jun 9, 2019 at 7:46 PM Masahiro Yamada
wrote:
>
> 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
On Sun, Jun 9, 2019 at 2:47 PM David A. Wheeler wrote:
>
> 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
17 matches
Mail list logo