1*b077aed3SPierre ProncherySUBDIRS = man1 2*b077aed3SPierre Pronchery 3*b077aed3SPierre Pronchery{- 4*b077aed3SPierre Pronchery use File::Spec::Functions qw(:DEFAULT abs2rel rel2abs); 5*b077aed3SPierre Pronchery use File::Basename; 6*b077aed3SPierre Pronchery 7*b077aed3SPierre Pronchery my $sourcedir = catdir($config{sourcedir}, 'doc'); 8*b077aed3SPierre Pronchery 9*b077aed3SPierre Pronchery foreach my $section ((1, 3, 5, 7)) { 10*b077aed3SPierre Pronchery my @imagefiles = (); 11*b077aed3SPierre Pronchery my @htmlfiles = (); 12*b077aed3SPierre Pronchery my @manfiles = (); 13*b077aed3SPierre Pronchery my %pngfiles = 14*b077aed3SPierre Pronchery map { $_ => 1 } glob catfile($sourcedir, "man$section", "img", "*.png"); 15*b077aed3SPierre Pronchery my %podfiles = 16*b077aed3SPierre Pronchery map { $_ => 1 } glob catfile($sourcedir, "man$section", "*.pod"); 17*b077aed3SPierre Pronchery my %podinfiles = 18*b077aed3SPierre Pronchery map { $_ => 1 } glob catfile($sourcedir, "man$section", "*.pod.in"); 19*b077aed3SPierre Pronchery 20*b077aed3SPierre Pronchery foreach (keys %podinfiles) { 21*b077aed3SPierre Pronchery (my $p = $_) =~ s|\.in$||i; 22*b077aed3SPierre Pronchery $podfiles{$p} = 1; 23*b077aed3SPierre Pronchery } 24*b077aed3SPierre Pronchery 25*b077aed3SPierre Pronchery foreach my $p (sort keys %podfiles) { 26*b077aed3SPierre Pronchery my $podfile = abs2rel($p, $sourcedir); 27*b077aed3SPierre Pronchery my $podname = basename($podfile, '.pod'); 28*b077aed3SPierre Pronchery my $podinfile = $podinfiles{"$p.in"} ? "$podfile.in" : undef; 29*b077aed3SPierre Pronchery 30*b077aed3SPierre Pronchery my $podname = basename($podfile, ".pod"); 31*b077aed3SPierre Pronchery 32*b077aed3SPierre Pronchery my $htmlfile = abs2rel(catfile($buildtop, "doc", "html", "man$section", 33*b077aed3SPierre Pronchery "$podname.html"), 34*b077aed3SPierre Pronchery catdir($buildtop, "doc")); 35*b077aed3SPierre Pronchery my $manfile = abs2rel(catfile($buildtop, "doc", "man", "man$section", 36*b077aed3SPierre Pronchery "$podname.$section"), 37*b077aed3SPierre Pronchery catdir($buildtop, "doc")); 38*b077aed3SPierre Pronchery 39*b077aed3SPierre Pronchery # The build.info format requires file specs to be in Unix format. 40*b077aed3SPierre Pronchery # Especially, since VMS file specs use [ and ], the build.info parser 41*b077aed3SPierre Pronchery # will otherwise get terribly confused. 42*b077aed3SPierre Pronchery if ($^O eq 'VMS') { 43*b077aed3SPierre Pronchery $htmlfile = VMS::Filespec::unixify($htmlfile); 44*b077aed3SPierre Pronchery $manfile = VMS::Filespec::unixify($manfile); 45*b077aed3SPierre Pronchery $podfile = VMS::Filespec::unixify($podfile); 46*b077aed3SPierre Pronchery $podinfile = VMS::Filespec::unixify($podinfile) 47*b077aed3SPierre Pronchery if defined $podinfile; 48*b077aed3SPierre Pronchery } elsif ($^O eq 'MSWin32') { 49*b077aed3SPierre Pronchery $htmlfile =~ s|\\|/|g; 50*b077aed3SPierre Pronchery $manfile =~ s|\\|/|g; 51*b077aed3SPierre Pronchery $podfile =~ s|\\|/|g; 52*b077aed3SPierre Pronchery $podinfile =~ s|\\|/|g 53*b077aed3SPierre Pronchery if defined $podinfile; 54*b077aed3SPierre Pronchery } 55*b077aed3SPierre Pronchery push @htmlfiles, $htmlfile; 56*b077aed3SPierre Pronchery push @manfiles, $manfile; 57*b077aed3SPierre Pronchery $OUT .= << "_____"; 58*b077aed3SPierre ProncheryDEPEND[$htmlfile]=$podfile 59*b077aed3SPierre ProncheryGENERATE[$htmlfile]=$podfile 60*b077aed3SPierre ProncheryDEPEND[$manfile]=$podfile 61*b077aed3SPierre ProncheryGENERATE[$manfile]=$podfile 62*b077aed3SPierre Pronchery_____ 63*b077aed3SPierre Pronchery $OUT .= << "_____" if $podinfile; 64*b077aed3SPierre ProncheryDEPEND[$podfile]{pod}=$podinfile 65*b077aed3SPierre ProncheryGENERATE[$podfile]=$podinfile 66*b077aed3SPierre Pronchery_____ 67*b077aed3SPierre Pronchery } 68*b077aed3SPierre Pronchery 69*b077aed3SPierre Pronchery foreach my $p (sort keys %pngfiles) { 70*b077aed3SPierre Pronchery my $relpath = abs2rel($p, $sourcedir); 71*b077aed3SPierre Pronchery my $imagefile = abs2rel(catfile($buildtop, "doc", "$relpath"), 72*b077aed3SPierre Pronchery catdir($buildtop, "doc")); 73*b077aed3SPierre Pronchery push @imagefiles, $imagefile; 74*b077aed3SPierre Pronchery } 75*b077aed3SPierre Pronchery 76*b077aed3SPierre Pronchery $OUT .= "IMAGEDOCS[man$section]=" . join(" \\\n", @imagefiles) . "\n"; 77*b077aed3SPierre Pronchery $OUT .= "HTMLDOCS[man$section]=" . join(" \\\n", @htmlfiles) . "\n"; 78*b077aed3SPierre Pronchery $OUT .= "MANDOCS[man$section]=" . join(" \\\n", @manfiles) . "\n"; 79*b077aed3SPierre Pronchery } 80*b077aed3SPierre Pronchery -} 81