SUBDIRS = man1 {- use File::Spec::Functions qw(:DEFAULT abs2rel rel2abs); use File::Basename; my $sourcedir = catdir($config{sourcedir}, 'doc'); foreach my $section ((1, 3, 5, 7)) { my @imagefiles = (); my @htmlfiles = (); my @manfiles = (); my %pngfiles = map { $_ => 1 } glob catfile($sourcedir, "man$section", "img", "*.png"); my %podfiles = map { $_ => 1 } glob catfile($sourcedir, "man$section", "*.pod"); my %podinfiles = map { $_ => 1 } glob catfile($sourcedir, "man$section", "*.pod.in"); foreach (keys %podinfiles) { (my $p = $_) =~ s|\.in$||i; $podfiles{$p} = 1; } foreach my $p (sort keys %podfiles) { my $podfile = abs2rel($p, $sourcedir); my $podname = basename($podfile, '.pod'); my $podinfile = $podinfiles{"$p.in"} ? "$podfile.in" : undef; my $podname = basename($podfile, ".pod"); my $htmlfile = abs2rel(catfile($buildtop, "doc", "html", "man$section", "$podname.html"), catdir($buildtop, "doc")); my $manfile = abs2rel(catfile($buildtop, "doc", "man", "man$section", "$podname.$section"), catdir($buildtop, "doc")); # The build.info format requires file specs to be in Unix format. # Especially, since VMS file specs use [ and ], the build.info parser # will otherwise get terribly confused. if ($^O eq 'VMS') { $htmlfile = VMS::Filespec::unixify($htmlfile); $manfile = VMS::Filespec::unixify($manfile); $podfile = VMS::Filespec::unixify($podfile); $podinfile = VMS::Filespec::unixify($podinfile) if defined $podinfile; } elsif ($^O eq 'MSWin32') { $htmlfile =~ s|\\|/|g; $manfile =~ s|\\|/|g; $podfile =~ s|\\|/|g; $podinfile =~ s|\\|/|g if defined $podinfile; } push @htmlfiles, $htmlfile; push @manfiles, $manfile; $OUT .= << "_____"; DEPEND[$htmlfile]=$podfile GENERATE[$htmlfile]=$podfile DEPEND[$manfile]=$podfile GENERATE[$manfile]=$podfile _____ $OUT .= << "_____" if $podinfile; DEPEND[$podfile]{pod}=$podinfile GENERATE[$podfile]=$podinfile _____ } foreach my $p (sort keys %pngfiles) { my $relpath = abs2rel($p, $sourcedir); my $imagefile = abs2rel(catfile($buildtop, "doc", "$relpath"), catdir($buildtop, "doc")); push @imagefiles, $imagefile; } $OUT .= "IMAGEDOCS[man$section]=" . join(" \\\n", @imagefiles) . "\n"; $OUT .= "HTMLDOCS[man$section]=" . join(" \\\n", @htmlfiles) . "\n"; $OUT .= "MANDOCS[man$section]=" . join(" \\\n", @manfiles) . "\n"; } -}