URL:
<https://savannah.gnu.org/bugs/?61226>
Summary: A regression prevents generation of missing included
dependency files.
Project: make
Submitted by: dgoncharov
Submitted on: Sun 26 Sep 2021 02:34:37 PM UTC
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: SCM
Operating System: None
Fixed Release: None
Triage Status: None
_______________________________________________________
Details:
7c4e6b0299774280e3a93060c70c661f459aaf40 introduced a change in main.c, among
others.
This change causes make to exit with an error message when a rule that matches
an included file does not create the file.
This change is good when the included file is indeed intended to be created.
However, this change is a regression when the included file is not intended to
be created, as in the case of generated dependency files.
E.g.
hello.o: hello.d; touch $@ $<
hello.d:;
include hello.d
In this makefile the rule 'hello.d:;' is not intended to create 'hello.d'.
Instead, when 'hello.d' is missing make runs 'hello.d:;' rule and imagines
'hello.d' was updated and then proceeds to create 'hello.o' and thus generates
'hello.d' as a byproduct of 'hello.o' generation.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?61226>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/