multipath-tools: Introducing multipath C API
[multipath-tools/.git] / libdmmp / docs / split-man.pl
1 #!/usr/bin/perl
2 # Originally From:
3 # https://www.kernel.org/doc/Documentation/kernel-doc-nano-HOWTO.txt
4 #
5 # Changes:
6 #   * Create manpage section 3 instead of 9.
7 #   * Replace 'Kernel Hackers Manual' to
8 #       'Device Mapper Multipath API - libdmmp Manual'
9 #   * Remove LINUX from header.
10 #   * Remove DMMP_DLL_EXPORT.
11 $man_sec_num = 3;
12 $title = 'Device Mapper Multipath API - libdmmp Manual';
13
14 if ( $#ARGV < 0 ) {
15     die "where do I put the results?\n";
16 }
17
18 mkdir $ARGV[0], 0777;
19 $state = 0;
20 while (<STDIN>) {
21     if (/^\.TH \"[^\"]*\" 9 \"([^\"]*)\"/) {
22         if ( $state == 1 ) { close OUT }
23         $state = 1;
24         $fn    = "$ARGV[0]/$1.$man_sec_num";
25         print STDERR "Creating $fn\n";
26         open OUT, ">$fn" or die "can't open $fn: $!\n";
27
28         # Change man page code from 9 to $man_sec_num;
29         s/^\.TH (\"[^\"]*\") 9 \"([^\"]*)\"/\.TH $1 $man_sec_num \"$2\"/;
30         s/Kernel Hacker's Manual/$title/g;
31         s/LINUX//g;
32
33         print OUT $_;
34     }
35     elsif ( $state != 0 ) {
36         print OUT $_;
37     }
38 }
39
40 close OUT;