I will reconsider usage of .SECONDARY in my applications and that should
work.
Hope this thread highlighted a case worth considering for make devs.
Thanks,
Mikhail
On 05.10.2022 10:51, Dmitry Goncharov wrote:
On Tuesday, October 4, 2022, Mikhail Pomaznoy <mik...@mikpom.ru> wrote:
Martin's snippet indeed recapitulates the behavior resulted in my
initial report.
As for Dmitry's reply: I don't understand if /make/ does what's
expected or not.
Works as documented. Even though I am not sure this particular case
was envisioned.
I believed that A.4 being a prereq of A.4.ind will always trigger
the latter being rebuilt if A.4 is newer.
It will, if A.4 is newer. In this case A.4 is not newer. A.4 is
missing when make considers A.4.ind.
As a side note: I use make for running pipelines and add
.SECONDARY routinely because I don't want anything to be deleted
as temporary file
Secondary without prerequisites is a bad idea.
Regards, Dmitry
-Mikhail
On 10/5/22 09:58, Dmitry Goncharov wrote:
On Tue, Oct 4, 2022 at 10:08 PM Martin Dorey
<martin.do...@hitachivantara.com> <mailto:martin.do...@hitachivantara.com>
wrote:
Isn't this slightly simplified example sufficient to demonstrate the same
behavior...
A.4 is a preqreq to T.1 and also a prereq to A.4.ind.
A.4.ind is present and that's why make skips building secondary A.4
and keeps A.4.ind intact, while walking through A.4.ind prereqs.
T.1 is missing and this causes make to build A.4 in order to build
T.1, after A.4.ind is done with.
regards, Dmitry