xref: /OK3568_Linux_fs/kernel/scripts/split-man.pl (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#!/usr/bin/env perl
2*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0
3*4882a593Smuzhiyun#
4*4882a593Smuzhiyun# Author: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
5*4882a593Smuzhiyun#
6*4882a593Smuzhiyun# Produce manpages from kernel-doc.
7*4882a593Smuzhiyun# See Documentation/doc-guide/kernel-doc.rst for instructions
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunif ($#ARGV < 0) {
10*4882a593Smuzhiyun   die "where do I put the results?\n";
11*4882a593Smuzhiyun}
12*4882a593Smuzhiyun
13*4882a593Smuzhiyunmkdir $ARGV[0],0777;
14*4882a593Smuzhiyun$state = 0;
15*4882a593Smuzhiyunwhile (<STDIN>) {
16*4882a593Smuzhiyun    if (/^\.TH \"[^\"]*\" 9 \"([^\"]*)\"/) {
17*4882a593Smuzhiyun	if ($state == 1) { close OUT }
18*4882a593Smuzhiyun	$state = 1;
19*4882a593Smuzhiyun	$fn = "$ARGV[0]/$1.9";
20*4882a593Smuzhiyun	print STDERR "Creating $fn\n";
21*4882a593Smuzhiyun	open OUT, ">$fn" or die "can't open $fn: $!\n";
22*4882a593Smuzhiyun	print OUT $_;
23*4882a593Smuzhiyun    } elsif ($state != 0) {
24*4882a593Smuzhiyun	print OUT $_;
25*4882a593Smuzhiyun    }
26*4882a593Smuzhiyun}
27*4882a593Smuzhiyun
28*4882a593Smuzhiyunclose OUT;
29