make-alpha
[Top][All Lists]
Advanced

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

Suggestion for a change in the out of date algorithm


From: Ramón García
Subject: Suggestion for a change in the out of date algorithm
Date: Sat, 26 May 2007 19:26:24 +0200

Here is a couple of ideas for the out of date evaluation:

Instead of passing the list of targets and sources, pass a pair
(target, source) and evaluate the rule for each pair.

The rationale is that the user model is more restricitive, because we
assume that the out of date is always an and of out-of-date(target,
source_i) for each source. This restriction makes simpler for the
user. Consider writting a user defined rule for a pair, and writting
it for a list of sources. The list handling by hand will make it more
difficult for the end user to write such rules. I can't imagine a
single case where this flexibility is useful.

This is slower, but how much slower?  If the command is implemented
internally by make, it would be the cost of a function call.Although
shell commands will be used, they will be used for evaluations of
values used by the out-of-date rather than the out-of-date itself.

Another suggestion, related this one, is to allow the out of date
evaluation to depend on the filename of target and source. This would
make it simple to write and share out of date methods. For instance,
an out of date rule for Java compilation

A.class: A.java B.class C.class

A.java does not depend on A.java and B.class in the same way. If
something in the implementation of A.java changes, it should be
recompiled, but the content of B.class and C.class is only relevant
for the interfaces that they export, rather than the implementations.

This would be rather difficult to take into account for a user defined
rule if the rule uses a list of sources rather than a single one.




reply via email to

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