38.5 Make Minimal Dependencies
This function only produces minimal dependencies if applied to a saturated
dependencies hash. So
for $f (keys %DEP) {&saturateDependencies($f);}
|
should have been called before.
The procedure checks for each file intermediate and for each dependency dep of
intermediate whether there is a file file such that file depends on intermediate
and intermediate depends on dep. Then the dependency from file to dep is
deactivated.
524⟨minimal dependencies 524⟩≡ (507b)
sub minimalDependencies {
my($intermediate)=@_;
my($dep, $file);
for $dep (keys %{$DEP{$intermediate}}) {
# There is an intermediate dependency $DEP{$intermediate}{$dep}.
for $file (keys %DEP) {
if ($file eq $intermediate) {next}
if ($DEP{$file}{$intermediate}>0 && $DEP{$file}{$dep}>0) {
$DEP{$file}{$dep}=0;
}
}
}
}
Defines:
minimalDependencies, used in chunk 505a.
Uses DEP 504c.