diff options
author | Richard Levitte <levitte@openssl.org> | 2020-01-15 08:28:46 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2020-01-17 08:51:24 +0100 |
commit | 98706c5a8cb2b0a1649add98125289db7da04861 (patch) | |
tree | 08f482fe4c428171e0645ad8a2ccbae86718b46c /Configurations | |
parent | news: combined NEWS entry for deprecated low level cipher functions (diff) | |
download | openssl-98706c5a8cb2b0a1649add98125289db7da04861.tar.xz openssl-98706c5a8cb2b0a1649add98125289db7da04861.zip |
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)
Diffstat (limited to 'Configurations')
-rw-r--r-- | Configurations/descrip.mms.tmpl | 5 | ||||
-rw-r--r-- | Configurations/unix-Makefile.tmpl | 10 | ||||
-rw-r--r-- | Configurations/windows-makefile.tmpl | 5 |
3 files changed, 12 insertions, 8 deletions
diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index f9f3aea4f4..d379a8230b 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -781,10 +781,11 @@ reconfigure reconf : if ($args{src} =~ /\.html$/) { my $title = basename($args{src}, ".html"); + my $pod = $args{generator}->[0]; return <<"EOF"; -$args{src}: $args{generator}->[0] +$args{src}: $pod pipe pod2html "--podroot=\$(SRCDIR)/doc" --htmldir=.. - - --podpath=man1:man3:man5:man7 "--infile=\$<" - + --podpath=man1:man3:man5:man7 "--infile=$pod" - "--title=$title" - | \$(PERL) -pe "s|href=""http://man\\.he\\.net/(man\d/[^""]+)(?:\\.html)?""|href=""../\$1.html|g;" - > \$\@ diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 0edde3f599..f01040d39d 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -1184,20 +1184,22 @@ reconfigure reconf: if ($args{src} =~ /\.html$/) { my $title = basename($args{src}, ".html"); + my $pod = $args{generator}->[0]; return <<"EOF"; -$args{src}: $args{generator}->[0] +$args{src}: $pod 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;' \\ > \$\@ EOF } elsif ($args{src} =~ /\.(\d)$/) { my $section = $1; my $name = uc basename($args{src}, ".$section"); + my $pod = $args{generator}->[0]; return <<"EOF"; -$args{src}: $args{generator}->[0] +$args{src}: $pod pod2man --name=$name --section=$section --center=OpenSSL \\ - --release=\$(VERSION) \$< \\ + --release=\$(VERSION) $pod \\ > \$\@ EOF } elsif (platform->isdef($args{src})) { diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl index 83df9f27a9..275c93ebc1 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl @@ -586,10 +586,11 @@ reconfigure reconf: if ($args{src} =~ /\.html$/) { my $title = basename($args{src}, ".html"); + my $pod = $args{generator}->[0]; return <<"EOF"; -$args{src}: $args{generator}->[0] +$args{src}: "$pod" 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;^" \\ > \$\@ EOF |