diff options
author | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2017-12-18 10:30:07 -0200 |
---|---|---|
committer | Jonathan Corbet <corbet@lwn.net> | 2017-12-21 13:41:46 -0700 |
commit | 93626d7a76e3aa854bb116f5894322e121cd84b1 (patch) | |
tree | 4bb68962d4a1513e4adc04b82dd9876dba024525 | |
parent | bdb76f9e305a45a7a1f0073a4b3a0fae9900bf97 (diff) | |
download | linux-93626d7a76e3aa854bb116f5894322e121cd84b1.tar.bz2 |
docs: kernel-doc.rst: add documentation about man pages
kernel-doc-nano-HOWTO.txt has a chapter about man pages
production. While we don't have a working "make manpages"
target, add it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
-rw-r--r-- | Documentation/doc-guide/kernel-doc.rst | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Documentation/doc-guide/kernel-doc.rst b/Documentation/doc-guide/kernel-doc.rst index b178857866f8..14c226e8154f 100644 --- a/Documentation/doc-guide/kernel-doc.rst +++ b/Documentation/doc-guide/kernel-doc.rst @@ -452,3 +452,37 @@ file. Data structures visible in kernel include files should also be documented using kernel-doc formatted comments. + +How to use kernel-doc to generate man pages +------------------------------------------- + +If you just want to use kernel-doc to generate man pages you can do this +from the Kernel git tree:: + + $ scripts/kernel-doc -man $(git grep -l '/\*\*' |grep -v Documentation/) | ./split-man.pl /tmp/man + +Using the small ``split-man.pl`` script below:: + + + #!/usr/bin/perl + + 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; |