Follow-up Comment #5, bug #15110 (project make): Paul Smith tells me that the problem I am reporting on the bug-make mailing list is linked to this one, and I would tend to agree.
Another (simpler?) test case for this issue is as follows: $ cat Makefile .SUFFIXES: -include baz foo: ; touch $@ $ cat baz foo baz: bar $ make-3.80 make: *** No rule to make target `bar', needed by `baz'. Stop. $ make-3.81rc2 # from CVS <no reported error> $ echo $? 2 <make silently failed with error code 2> Additionally: $ make-3.80 -d Reading makefiles... Reading makefile `Makefile'... Reading makefile `baz' (search path) (don't care) (no ~ expansion)... Updating makefiles.... Considering target file `baz'. Looking for an implicit rule for `baz'. Trying pattern rule with stem `baz'. Trying implicit prerequisite `baz,v'. Trying pattern rule with stem `baz'. Trying implicit prerequisite `RCS/baz,v'. Trying pattern rule with stem `baz'. Trying implicit prerequisite `RCS/baz'. Trying pattern rule with stem `baz'. Trying implicit prerequisite `s.baz'. Trying pattern rule with stem `baz'. Trying implicit prerequisite `SCCS/s.baz'. No implicit rule found for `baz'. Considering target file `bar'. File `bar' does not exist. Looking for an implicit rule for `bar'. Trying pattern rule with stem `bar'. Trying implicit prerequisite `bar,v'. Trying pattern rule with stem `bar'. Trying implicit prerequisite `RCS/bar,v'. Trying pattern rule with stem `bar'. Trying implicit prerequisite `RCS/bar'. Trying pattern rule with stem `bar'. Trying implicit prerequisite `s.bar'. Trying pattern rule with stem `bar'. Trying implicit prerequisite `SCCS/s.bar'. No implicit rule found for `bar'. Finished prerequisites of target file `bar'. Must remake target `bar'. make: *** No rule to make target `bar', needed by `baz'. Stop. $ make-3.81rc2 -d Reading makefiles... Reading makefile `Makefile'... Reading makefile `baz' (search path) (don't care) (no ~ expansion)... Updating makefiles.... Considering target file `baz'. Looking for an implicit rule for `baz'. Trying pattern rule with stem `baz'. Trying implicit prerequisite `baz,v'. Trying pattern rule with stem `baz'. Trying implicit prerequisite `RCS/baz,v'. Trying pattern rule with stem `baz'. Trying implicit prerequisite `RCS/baz'. Trying pattern rule with stem `baz'. Trying implicit prerequisite `s.baz'. Trying pattern rule with stem `baz'. Trying implicit prerequisite `SCCS/s.baz'. No implicit rule found for `baz'. Considering target file `bar'. File `bar' does not exist. Looking for an implicit rule for `bar'. Trying pattern rule with stem `bar'. Trying implicit prerequisite `bar,v'. Trying pattern rule with stem `bar'. Trying implicit prerequisite `RCS/bar,v'. Trying pattern rule with stem `bar'. Trying implicit prerequisite `RCS/bar'. Trying pattern rule with stem `bar'. Trying implicit prerequisite `s.bar'. Trying pattern rule with stem `bar'. Trying implicit prerequisite `SCCS/s.bar'. No implicit rule found for `bar'. Finished prerequisites of target file `bar'. Must remake target `bar'. Failed to remake target file `bar'. Finished prerequisites of target file `baz'. Giving up on target file `baz'. Considering target file `Makefile'. Looking for an implicit rule for `Makefile'. Trying pattern rule with stem `Makefile'. Trying implicit prerequisite `Makefile,v'. Trying pattern rule with stem `Makefile'. Trying implicit prerequisite `RCS/Makefile,v'. Trying pattern rule with stem `Makefile'. Trying implicit prerequisite `RCS/Makefile'. Trying pattern rule with stem `Makefile'. Trying implicit prerequisite `s.Makefile'. Trying pattern rule with stem `Makefile'. Trying implicit prerequisite `SCCS/s.Makefile'. No implicit rule found for `Makefile'. Finished prerequisites of target file `Makefile'. No need to remake target `Makefile'. Updating goal targets.... Considering target file `foo'. File `foo' does not exist. Pruning file `bar'. Finished prerequisites of target file `foo'. Giving up on target file `foo'. When trying to update the makefiles, make is not able to rebuild baz because of the missing dependency bar, which it does not know how to make. Because of the '-include', this failure is correctly silently ignored with 3.81rc2 However, when later make attempts to build the final target foo, it prunes the missing dependency bar (I guess this is OK: the result of attempting to make that one is already known), but fails to report that it does not know how to build the missing dependency. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?func=detailitem&item_id=15110> _______________________________________________ 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