URL: <http://savannah.gnu.org/bugs/?20006>
Summary: Regression between 3.80 and 3.81 Project: make Submitted by: icarus Submitted on: Wednesday 30/05/07 at 00:20 Severity: 3 - Normal Item Group: Bug Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any Component Version: 3.81 Operating System: Any Fixed Release: None _______________________________________________________ Details: Given a directory containing only a file T.in (any contents) and a Makefile with the following contents %.out: %; touch $@ %: %.in;touch $@ .PHONY: good bad good: T T.out bad: T.out T then running "make -r bad" with GNU make 3.81 gives make: *** No rule to make target `T.out', needed by `bad'. Stop. On the other had using 3.80, it produces the expected results. touch T touch T.out The change from version 1.40 to 1.41 of implicit.c which has the following log message revision 1.41 date: 2004-09-21 13:23:12 -0700; author: bosk; state: Exp; lines: +3 -1; Fixed bug in implicit rule prerequisite evaluation code. Added test. is at least partly responsible for the regression. Making just this change causes the modified make to give the error message. However both 3.80 and 3.81 manage to build the 'good' target, but the modified one gives touch T make+: *** No rule to make target `T.out', needed by `good'. Stop. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?20006> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make