On Thu, 15 Jun 2017, SF Markus Elfring wrote: > > Did you tell make, then, to disable all of its default rules for > > creating commands.mli or, for that matter, commands.cmo, by checking > > them out of version control? > > Not directly so far. - The source file “commands.mli” is not needed for > the generation of the object module “commands.cmo” in the final use > case.
I believe the point of Martin's rhetorical query is "why should make treat the failure of *this* pattern rule any different than the failure of the many other pattern rules that would have permitted this compilation to complete?" If comands.ml,v had existed, then the make command you had invoked would have completed, because make would have invoked the %:: %,v rule and then the rule you supplied. Alternatively, if commands.cmo,v have existed, then make could have used that to generate commands.cmo directly, so why shouldn't it say The target “commands.cmo” could not be built because the specified dependency “commands.cmo,v” did not exist. ? You *looked at* the the "make -d" output and saw the long list of files that make considered as possible prerequisites for building command.cmo; if *any* of those existed then make would have been able to build the file and complete your request. If you want to change the error messages that make generates, you have to look at that list coldly and without passion and say "is there a rule that improves the error output in this case? Is that output at least as good for *other* makefiles?" If the answers aren't both "yes", then you're suggesting a trade-off of your makefile for someone else's and have this consider and explain *why* their usage may be made worse to make yours better. Philip Guenther _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make