[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Checking software build tries for “commands.cmo”
From: |
Philip Guenther |
Subject: |
Re: Checking software build tries for “commands.cmo” |
Date: |
Fri, 16 Jun 2017 20:52:57 -0700 |
User-agent: |
Alpine 2.21 (BSO 202 2017-01-01) |
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
Re: Checking software build tries for “commands.cmo”, Philip Guenther, 2017/06/14