bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Checking application of dependencies from make rules without recipes


From: Paul Smith
Subject: Re: Checking application of dependencies from make rules without recipes
Date: Sun, 18 Jun 2017 16:31:12 -0400

On Sun, 2017-06-18 at 21:10 +0200, SF Markus Elfring wrote:
> > make will see if it can be created by using your first pattern rule;
> > that means it needs a file ast_c.mli.
> 
> This could be appropriate eventually.
> 
> I adjusted some make scripts in this software area because of special
> implementation details (or open issues). My adjustments are still
> incomplete in a few subdirectories.
> 
> It seems then that the original make scripts could treat more
> interface descriptions as optional somehow.

Without know what your original makefiles said I can't comment on that.

A rule like this:

> %.cmi: %.mli
>         $(i_compilation) '$<' > $@

will only be used by make to create a file "ast_c.cmi" if the file
"ast_c.mli" either already exists, or make can deduce how to create it
using other rules.

If "ast_c.mli" doesn't exist and make can't determine how to create it,
then make will consider that pattern rule as not matching and will
ignore it (for that target) and try to find another one.  If this
pattern rule is the only way to get the "ast_c.cmi" file, then targets
that depend on that file will not be able to be created either.

> Would you like to add any more advice to this aspect?

Only if you have a specific question.  I've stated the algorithm make is
using; I don't know what else to say.

> > and see which file is not able to be built.
> 
> It seems that I have got still difficulties to extract desired
> information from such a display. I guess that a bigger source file
> number influences my view of the discussed software development
> situation in significant ways.

Certainly the more files you have the more output is generated.

However, make works one target file at a time and follows the same
process for each one, regardless of how many other targets there are. 
So it shouldn't be a problem to search the output for the target that is
not being built correctly then examine the steps make follows to try to
build it.  It's the same set of steps whether it's the only target in
the makefile, or one of a thousand targets in the makefile.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]