URL: <https://savannah.gnu.org/bugs/?59490>
Summary: target may not be remade if prerequisite has no recipe Project: make Submitted by: minshall Submitted on: Fri 20 Nov 2020 06:52:47 AM UTC Severity: 3 - Normal Item Group: Bug Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any Component Version: 4.3 Operating System: POSIX-Based Fixed Release: None Triage Status: None _______________________________________________________ Details: i have a feeling this is already known, and maybe accepted, behavior, but it seems wrong, non-intuitive, to me. if i have a dependency chain like ++ b1: a1 touch b1 touch c1 c1: b1 d1: c1 touch d1 -- then, if b1 needs to be re-made, d1 will *not* be remade, even though c1's prerequisite b1 is out of date. if i change to 'c1: b1;', it works. i find the behavior surprising, and i would think worthy of changing. (i'm guessing this is an optimization?) with the attached Makefile, a 'make test' will show failure (or, success, should it succeed). _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Fri 20 Nov 2020 06:52:47 AM UTC Name: Makefile Size: 2KiB By: minshall make test <http://savannah.gnu.org/bugs/download.php?file_id=50308> _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?59490> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/