In perl.git, the branch smoke-me/HP-UX-make-is-special-let-me-count-the-ways has been updated
<http://perl5.git.perl.org/perl.git/commitdiff/55b3b30d5541384f693eaff416f9f82455e5d46a?hp=5fde9fa4cbe66ffa73af8a18a5042cb511c581a4> - Log ----------------------------------------------------------------- commit 55b3b30d5541384f693eaff416f9f82455e5d46a Author: Nicholas Clark <[email protected]> Date: Mon Jul 30 17:31:12 2012 +0200 Makefile.SH needs to delete the perldelta symlink before creating it. This seemingly redundant action seems to be necessary for maximum portability on repeat makes - certainly HP-UX make will happily assume that the target (the symlink) is out of date, attempt to re-run the rule, and then fail because the `ln -s` command fails due to the target already existing. ----------------------------------------------------------------------- Summary of changes: Makefile.SH | 1 + Porting/pod_rules.pl | 5 +++++ 2 files changed, 6 insertions(+), 0 deletions(-) diff --git a/Makefile.SH b/Makefile.SH index 3b6e149..8b432b6 100755 --- a/Makefile.SH +++ b/Makefile.SH @@ -1059,6 +1059,7 @@ pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST $(MINIPERL) $(Icwd) pod/perlmodlib.PL -q pod/perl5173delta.pod: pod/perldelta.pod + $(RMS) pod/perl5173delta.pod $(LNS) perldelta.pod pod/perl5173delta.pod extra.pods: $(MINIPERL_EXE) diff --git a/Porting/pod_rules.pl b/Porting/pod_rules.pl index 8386015..f0b72ed 100644 --- a/Porting/pod_rules.pl +++ b/Porting/pod_rules.pl @@ -204,8 +204,12 @@ sub do_unix { # pod/perl511delta.pod: pod/perldelta.pod # cd pod && $(LNS) perldelta.pod perl511delta.pod + # although it seems that HP-UX make gets confused, always tried to + # regenerate the symlink, and then the ln -s fails, as the target exists. + $makefile_SH =~ s!( pod/perl[a-z0-9_]+\.pod: pod/perl[a-z0-9_]+\.pod + \$\(RMS\) pod/perl[a-z0-9_]+\.pod \$\(LNS\) perl[a-z0-9_]+\.pod pod/perl[a-z0-9_]+\.pod )+!\0!gm; @@ -213,6 +217,7 @@ pod/perl[a-z0-9_]+\.pod: pod/perl[a-z0-9_]+\.pod my @copy_rules = map " pod/$_: pod/$state->{copies}{$_} + \$(RMS) pod/$_ \$(LNS) $state->{copies}{$_} pod/$_ ", keys %{$state->{copies}}; -- Perl5 Master Repository
