On 09/26/17 10:59, Mauro Carvalho Chehab wrote:
> 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 <mche...@s-opensource.com>
> ---
>  Documentation/doc-guide/kernel-doc.rst | 61 
> ++++++++++++++++++++++++++--------
>  1 file changed, 47 insertions(+), 14 deletions(-)
> 
> diff --git a/Documentation/doc-guide/kernel-doc.rst 
> b/Documentation/doc-guide/kernel-doc.rst
> index 9777aa53e3dd..50473f0db345 100644
> --- a/Documentation/doc-guide/kernel-doc.rst
> +++ b/Documentation/doc-guide/kernel-doc.rst
> @@ -377,7 +377,6 @@ cross-references.
>  For further details, please refer to the `Sphinx C Domain`_ documentation.
>  
>  
> -
>  In-line member documentation comments
>  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  
> @@ -391,19 +390,19 @@ on a line of their own, like all other kernel-doc 
> comments::
>     * @foo: The Foo member.
>     */
>    struct foo {
> -        int foo;
> -        /**
> -         * @bar: The Bar member.
> -         */
> -        int bar;
> -        /**
> -         * @baz: The Baz member.
> -         *
> -         * Here, the member description may contain several paragraphs.
> -         */
> -        int baz;
> -        /** @foobar: Single line description. */
> -        int foobar;
> +     int foo;
> +     /**
> +      * @bar: The Bar member.
> +      */
> +     int bar;
> +     /**
> +      * @baz: The Baz member.
> +      *
> +      * Here, the member description may contain several paragraphs.
> +      */
> +     int baz;
> +     /** @foobar: Single line description. */
> +     int foobar;
>    }

The above doesn't belong in this patch. (??)

>  
> @@ -452,3 +451,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;
> 


-- 
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to