[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #48643] Irrelevant targets can confuse make on which pattern rule t
From: |
Dmitry Goncharov |
Subject: |
[bug #48643] Irrelevant targets can confuse make on which pattern rule to select. |
Date: |
Thu, 20 Jan 2022 10:03:37 -0500 (EST) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 |
Follow-up Comment #33, bug #48643 (project make):
This fix turned out to be difficult. i'll be surprised if we don't miss
anything.
i wanted to bring to your attention a couple of leftovers.
One is that pat->is_explicit that is described in update 31.
For the other let's consider example 8.
++++
all: hello.tsk
%.tsk: %.o; touch $@
%.o: %.c; $(info $@)
#unrelated: hello.o
----
Here, 'hello.o' is intermediate and 'hello.o' and 'hello.tsk' are not rebuild
when 'hello.o' is missing.
If we uncomment rule 'unrelated: hello.o', then 'hello.o' is explicit and
'hello.o' and 'hello.tsk' are rebuild when 'hello.o' is missing.
So, even though rule 'unrelated: hello.o' is unrelated and no longer
participates in overload resolution, presence of this rule affects make's
behavior.
The tests in sv48643_exp_preqreq_is_not_interm_tests.diff all test that such
prerequisite explicitly mentioned on an unrelated rule is not intermediate.
i'd like to solicit your opinion on this.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?48643>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/