Build file templates: Use explicit files instead of $< or $? for pods
When generating html or manpages from POD files, we used $< or $? to get the file name to process. It turns out, though, that some make implementations only define $< with implicit rules, so its expansion remains empty in explicit rules. $? is a fine replacement, but only as long as we have one dependency, so it may cause problems in the future. The final solution seems to be to use explicit POD file names instead. That leaves no doubts. Fixes #10817 Reviewed-by: Ben Kaduk <kaduk@mit.edu> (Merged from https://github.com/openssl/openssl/pull/10849)
This commit is contained in:
parent
43becc3fe5
commit
98706c5a8c
3 changed files with 12 additions and 8 deletions
|
@ -781,10 +781,11 @@ reconfigure reconf :
|
||||||
|
|
||||||
if ($args{src} =~ /\.html$/) {
|
if ($args{src} =~ /\.html$/) {
|
||||||
my $title = basename($args{src}, ".html");
|
my $title = basename($args{src}, ".html");
|
||||||
|
my $pod = $args{generator}->[0];
|
||||||
return <<"EOF";
|
return <<"EOF";
|
||||||
$args{src}: $args{generator}->[0]
|
$args{src}: $pod
|
||||||
pipe pod2html "--podroot=\$(SRCDIR)/doc" --htmldir=.. -
|
pipe pod2html "--podroot=\$(SRCDIR)/doc" --htmldir=.. -
|
||||||
--podpath=man1:man3:man5:man7 "--infile=\$<" -
|
--podpath=man1:man3:man5:man7 "--infile=$pod" -
|
||||||
"--title=$title" -
|
"--title=$title" -
|
||||||
| \$(PERL) -pe "s|href=""http://man\\.he\\.net/(man\d/[^""]+)(?:\\.html)?""|href=""../\$1.html|g;" -
|
| \$(PERL) -pe "s|href=""http://man\\.he\\.net/(man\d/[^""]+)(?:\\.html)?""|href=""../\$1.html|g;" -
|
||||||
> \$\@
|
> \$\@
|
||||||
|
|
|
@ -1184,20 +1184,22 @@ reconfigure reconf:
|
||||||
|
|
||||||
if ($args{src} =~ /\.html$/) {
|
if ($args{src} =~ /\.html$/) {
|
||||||
my $title = basename($args{src}, ".html");
|
my $title = basename($args{src}, ".html");
|
||||||
|
my $pod = $args{generator}->[0];
|
||||||
return <<"EOF";
|
return <<"EOF";
|
||||||
$args{src}: $args{generator}->[0]
|
$args{src}: $pod
|
||||||
pod2html "--podroot=\$(SRCDIR)/doc" --htmldir=.. \\
|
pod2html "--podroot=\$(SRCDIR)/doc" --htmldir=.. \\
|
||||||
--podpath=man1:man3:man5:man7 "--infile=\$<" "--title=$title" \\
|
--podpath=man1:man3:man5:man7 --infile=$pod "--title=$title" \\
|
||||||
| \$(PERL) -pe 's|href="http://man\\.he\\.net/(man\\d/[^"]+)(?:\\.html)?"|href="../\$1.html|g;' \\
|
| \$(PERL) -pe 's|href="http://man\\.he\\.net/(man\\d/[^"]+)(?:\\.html)?"|href="../\$1.html|g;' \\
|
||||||
> \$\@
|
> \$\@
|
||||||
EOF
|
EOF
|
||||||
} elsif ($args{src} =~ /\.(\d)$/) {
|
} elsif ($args{src} =~ /\.(\d)$/) {
|
||||||
my $section = $1;
|
my $section = $1;
|
||||||
my $name = uc basename($args{src}, ".$section");
|
my $name = uc basename($args{src}, ".$section");
|
||||||
|
my $pod = $args{generator}->[0];
|
||||||
return <<"EOF";
|
return <<"EOF";
|
||||||
$args{src}: $args{generator}->[0]
|
$args{src}: $pod
|
||||||
pod2man --name=$name --section=$section --center=OpenSSL \\
|
pod2man --name=$name --section=$section --center=OpenSSL \\
|
||||||
--release=\$(VERSION) \$< \\
|
--release=\$(VERSION) $pod \\
|
||||||
> \$\@
|
> \$\@
|
||||||
EOF
|
EOF
|
||||||
} elsif (platform->isdef($args{src})) {
|
} elsif (platform->isdef($args{src})) {
|
||||||
|
|
|
@ -586,10 +586,11 @@ reconfigure reconf:
|
||||||
|
|
||||||
if ($args{src} =~ /\.html$/) {
|
if ($args{src} =~ /\.html$/) {
|
||||||
my $title = basename($args{src}, ".html");
|
my $title = basename($args{src}, ".html");
|
||||||
|
my $pod = $args{generator}->[0];
|
||||||
return <<"EOF";
|
return <<"EOF";
|
||||||
$args{src}: $args{generator}->[0]
|
$args{src}: "$pod"
|
||||||
pod2html "--podroot=\$(SRCDIR)/doc" --htmldir=.. \\
|
pod2html "--podroot=\$(SRCDIR)/doc" --htmldir=.. \\
|
||||||
--podpath=man1:man3:man5:man7 "--infile=\$?" "--title=$title" \\
|
--podpath=man1:man3:man5:man7 "--infile=$pod" "--title=$title" \\
|
||||||
| \$(PERL) -pe ^"s^|href=\\^"http://man\\.he\\.net/^(man\\d/[^^\\^"]+^)^(?:\.html^)?^"^|href=\\^"../\$\$1.html^|g;^" \\
|
| \$(PERL) -pe ^"s^|href=\\^"http://man\\.he\\.net/^(man\\d/[^^\\^"]+^)^(?:\.html^)?^"^|href=\\^"../\$\$1.html^|g;^" \\
|
||||||
> \$\@
|
> \$\@
|
||||||
EOF
|
EOF
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue