URL: <https://savannah.gnu.org/bugs/?55532>
Summary: Missing prerequisites are not included in $^ if .SECONDARY is present Project: make Submitted by: None Submitted on: Mon 21 Jan 2019 01:03:46 AM UTC Severity: 3 - Normal Item Group: Bug Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any Component Version: None Operating System: Any Fixed Release: None Triage Status: None _______________________________________________________ Details: The $^ should contain all the prerequisites that are newer than the target, including missing prerequisites. However, the '.SECONDARY' special target is present, the missing prerequisites are not included in the ^$. [Test code] foo: bar baz @echo newer prerequisites are: $? bar: .SECONDARY: [Result] $ touch foo $ touch baz $ make newer prerequisites are: baz The 'baz' is correctly contained in $^ since it is newer than 'foo'. We expect 'bar' in $^ as well because it does not exist. However, this behavior is changed by the presence of .SECONDARY. If you delete the '.SECONDARY:' line, the result is what we expect: $ make newer prerequisites are: bar baz _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?55532> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make