Add scripts/split-man.pl
[linux-block.git] / scripts / split-man.pl
diff --git a/scripts/split-man.pl b/scripts/split-man.pl
new file mode 100755 (executable)
index 0000000..bfe16cb
--- /dev/null
@@ -0,0 +1,28 @@
+#!/usr/bin/perl
+# SPDX-License-Identifier: GPL-2.0
+#
+# Author: Mauro Carvalho Chehab <mchehab@s-opensource.com>
+#
+# Produce manpages from kernel-doc.
+# See Documentation/doc-guide/kernel-doc.rst for instructions
+
+if ($#ARGV < 0) {
+   die "where do I put the results?\n";
+}
+
+mkdir $ARGV[0],0777;
+$state = 0;
+while (<STDIN>) {
+    if (/^\.TH \"[^\"]*\" 9 \"([^\"]*)\"/) {
+       if ($state == 1) { close OUT }
+       $state = 1;
+       $fn = "$ARGV[0]/$1.9";
+       print STDERR "Creating $fn\n";
+       open OUT, ">$fn" or die "can't open $fn: $!\n";
+       print OUT $_;
+    } elsif ($state != 0) {
+       print OUT $_;
+    }
+}
+
+close OUT;