# try to detect titles
foreach my $e (@{$env_stack->[-1]}) {
- if ($line =~ m/^=====+$/) {
+ if ($line =~ m/^===+$/) {
register_title($filename, $e, 0, $env_last_line->{$e},
$env_last_blockid->{$e});
- } elsif ($line =~ m/^-----+$/) {
+ } elsif ($line =~ m/^---+$/) {
register_title($filename, $e, 1, $env_last_line->{$e},
$env_last_blockid->{$e});
- } elsif ($line =~ m/^~~~~~+$/) {
+ } elsif ($line =~ m/^~~~+$/) {
register_title($filename, $e, 2, $env_last_line->{$e},
$env_last_blockid->{$e});
- } elsif ($line =~ m/^\^\^\^\^\^+$/) {
+ } elsif ($line =~ m/^\^\^\^+$/) {
register_title($filename, $e, 3, $env_last_line->{$e},
$env_last_blockid->{$e});
} elsif ($line =~ m/^= +(\S.*?)( +=)?$/) {
my $depends = {};
foreach my $e (@$start_env) {
my $env_data = $fileinfo->{include}->{$e};
+
+ my $add_depends;
+
+ $add_depends = sub {
+ my ($fn, $dep) = @_;
+
+ $depends->{$fn}->{$dep} = 1;
+ foreach my $nd (keys %{$env_data->{$dep}}) {
+ &$add_depends($fn, $nd);
+ }
+ };
+
foreach my $fn (keys %$env_data) {
foreach my $dep (keys %{$env_data->{$fn}}) {
- $depends->{$fn}->{$dep} = 1;
+ &$add_depends($fn, $dep);
}
}
}
my $filelist = $fileinfo->{outfile}->{$e};
foreach my $sourcefile (sort keys %$filelist) {
my $varname = $depend_varname_hash->{$sourcefile};
+ next if !defined($varname);
my $target = $filelist->{$sourcefile};
my $dep = "\$\{$varname\}";
$make_targets->{$target} = $dep;