die "$0: delta source defined but not target";
}
} elsif (defined $delta_target) {
- die "$0: delta target defined but not target";
+ die "$0: delta target defined but not source";
}
close MASTER;
sort keys %Pods, keys %Readmepods;
}
-sub generate_descrip_mms_3 {
- map qq{\t- If F\$Search("[.pod]$_").nes."" Then Delete/NoConfirm/Log [.pod]$_;*},
- sort keys %Generated, keys %Copies;
-}
-
sub generate_nmake_1 {
# XXX Fix this with File::Spec
(map {sprintf "\tcopy ..\\README.%-8s ..\\pod\\perl$_.pod\n", $_}
die "$0: $name contains NUL bytes" if $makefile =~ /\0/;
+# Looking for the macro defining the current perldelta:
+#PERLDELTA_CURRENT = [.pod]perl5139delta.pod
+
+ $makefile =~ s/\nPERLDELTA_CURRENT\s+=\s+\Q[.pod]perl\E\d+delta\.pod\n
+ /\0/sx;
+ verify_contiguous($name, $makefile, 'current perldelta macro');
+ $makefile =~ s/\0+/join "\n", '', "PERLDELTA_CURRENT = [.pod]$delta_target", ''/se;
+
# Looking for rules like this
# [.lib.pods]perl.pod : [.pod]perl.pod
# @ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
verify_contiguous($name, $makefile, 'copy rules');
$makefile =~ s/\0+/join "\n", '', &generate_descrip_mms_2/se;
-# Looking for rules like this:
-# - If F$Search("[.pod]perldelta.pod").nes."" Then Delete/NoConfirm/Log [.pod]perldelta.pod;*
- $makefile =~ s!(?:\t- If F\$Search\("\[\.pod\]perl\d*[a-z]+\Q.pod").nes."" Then Delete/NoConfirm/Log [.pod]perl\E\d*[a-z]+\.pod;\*\n)+!\0!sg;
- verify_contiguous($name, $makefile, 'delete rules');
- $makefile =~ s/\0+/join "\n", &generate_descrip_mms_3, ''/se;
-
$makefile;
}
pod33 = [.lib.pods]perlxs.pod [.lib.pods]perlxstut.pod
pod = $(pod0) $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) $(pod9) $(pod10) $(pod11) $(pod12) $(pod13) $(pod14) $(pod15) $(pod16) $(pod17) $(pod18) $(pod19) $(pod20) $(pod21) $(pod22) $(pod23) $(pod24) $(pod25) $(pod26) $(pod27) $(pod28) $(pod29) $(pod30) $(pod31) $(pod32) $(pod33)
-# Would be useful to automate the generation of this rule from pod/buildtoc
-# Plus its corresponding delete in the clean target.
-[.pod]perl5139delta.pod : [.pod]perldelta.pod
+PERLDELTA_CURRENT = [.pod]perl5139delta.pod
+
+$(PERLDELTA_CURRENT) : [.pod]perldelta.pod
Copy/NoConfirm/Log $(MMS$SOURCE) $(MMS$TARGET)
[.pod]perlapi.pod : embed.fnc autodoc.pl $(MINIPERL_EXE)
[.pod]perlintern.pod : embed.fnc autodoc.pl $(MINIPERL_EXE)
$(MINIPERL) autodoc.pl
-[.pod]perltoc.pod : [.pod]perl5136delta.pod [.pod]perlapi.pod [.pod]perlintern.pod [.pod]perlmodlib.pod extra.pods $(PERL_EXE)
+[.pod]perltoc.pod : $(PERLDELTA_CURRENT) [.pod]perlapi.pod [.pod]perlintern.pod [.pod]perlmodlib.pod extra.pods $(PERL_EXE)
@ define/user_mode $(DBG)PERLSHR SYS$DISK:[]$(DBG)perlshr$(E)
$(PERL) "-f" [.pod]buildtoc "-q" "--build-toc"
- If F$Search("[.vms.ext...]*.C").nes."" Then Delete/NoConfirm/Log [.vms.ext...]*.C;*
- If F$Search("[.vms.ext...]*$(O)").nes."" Then Delete/NoConfirm/Log [.vms.ext...]*$(O);*
- If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;*
- - If F$Search("[.pod]perl5139delta.pod").nes."" Then Delete/NoConfirm/Log [.pod]perl5139delta.pod;*
+ - If F$Search("$(PERLDELTA_CURRENT)").nes."" Then Delete/NoConfirm/Log $(PERLDELTA_CURRENT);*
- If F$Search("[.pod]perlapi.pod").nes."" Then Delete/NoConfirm/Log [.pod]perlapi.pod;*
- If F$Search("[.pod]perlintern.pod").nes."" Then Delete/NoConfirm/Log [.pod]perlintern.pod;*
- If F$Search("[.pod]perlmodlib.pod").nes."" Then Delete/NoConfirm/Log [.pod]perlmodlib.pod;*