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/