URL: <https://savannah.gnu.org/bugs/?66237>
Summary: Grouped target dependencies don't function properly in dry-run mode Group: make Submitter: hjalfi Submitted: Fri 20 Sep 2024 12:31:11 PM UTC Severity: 3 - Normal Item Group: None Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any Component Version: 4.3 Operating System: None Fixed Release: None Triage Status: None _______________________________________________________ Follow-up Comments: ------------------------------------------------------- Date: Fri 20 Sep 2024 12:31:11 PM UTC By: David Given <hjalfi> I have a makefile where I'm trying to build multiple targets in a single rule, and I'm using the grouped target feature. Here's my sample makefile: obj1 &: source touch $@ obj2: obj1 touch $@ If I create `source` and then try to build `obj2`, it behaves as expected, touching first `obj1` and then `obj2`. Fine. But then I do this: $ touch source $ make -n obj2 touch obj1 It rebuilt `obj1`, but it didn't rebuild `obj2` for some reason. However, if I change the `&:` to a `:` --- only possible because in my test case I only have a single target --- it works fine: $ cat test.mk obj1 : source touch $@ obj2: obj1 touch $@ $ touch source $ make -f test.mk obj2 -n touch obj1 touch obj2 If I try this with `-d`, I get the following from the first, failed example: ... touch obj1 Successfully remade target file 'obj1'. Finished prerequisites of target file 'obj2'. Prerequisite 'obj1' is older than target 'obj2'. No need to remake target 'obj2'. ...but this from the second, working one: ... touch obj1 Successfully remade target file 'obj1'. Finished prerequisites of target file 'obj2'. Prerequisite 'obj1' is newer than target 'obj2'. Must remake target 'obj2'. touch obj2 Successfully remade target file 'obj2'. It feels to me that in the `&:` case, it's failing to remember that it's fake-built `obj1` when looking at the dependencies for `obj2`, meaning that it then stats the real file and gets the wrong timestamp. Is this a bug, or is it intended (but surprising) behaviour? _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?66237> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
signature.asc
Description: PGP signature