bug-make
[Top][All Lists]
Advanced

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

[bug #60077] Deterministic $@ for grouped targets patch


From: Todd Lowe
Subject: [bug #60077] Deterministic $@ for grouped targets patch
Date: Mon, 21 Jun 2021 21:10:22 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0

Follow-up Comment #7, bug #60077 (project make):

I wonder if &: makes sense as a pattern rule since regular pattern rules
already support multiple targets.  

Regardless, I have also tested your implicit test without the & and get the
same results:

$ cat ../makefile4
.SECONDEXPANSION:

all: world.z hello.x

%.x %.z: $$(info in prereqs @ = $$@, @< = $$(@<), @^ = $$(@^))
        $(info in recipe @ = $@, @< = $(@<), @^ = $(@^))

$ ./make -f ../makefile4 hello.x
in prereqs @ = hello.x, @< = hello.x, @^ = hello.x
in recipe @ = hello.x, @< = hello.x, @^ = hello.x hello.z
make: 'hello.x' is up to date.

I also tried hello.z and $(@<) is only correct inside the recipe as well.
$ ./make -f ../makefile4 hello.z
in prereqs @ = hello.z, @< = hello.z, @^ = hello.z
in recipe @ = hello.z, @< = hello.x, @^ = hello.x hello.z
make: 'hello.z' is up to date.

The problem appears to be due to second expansion for pattern rules happening
quite some time before also_make is set in pattern_search().

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?60077>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

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