}
my $full = join("\n", @f1);
- # prepare notes if they exists
+ # prepare notes if they exist
my $notes = (defined $usage->{notes})
? "$usage->{notes}\n\n"
: "";
- # prepare example if one exists
+ # prepare examples if they exist
my $example = (defined $usage->{example})
?
"Example:\n\n" .
# {
# trivial => "...",
# full => "...",
+# notes => "...",
# example => "...",
# }
my %docs;
=head1 SYNOPSIS
-autodocifier.pl usage.h > something
+autodocifier.pl [OPTION]... [FILE]...
+
+Example:
+
+ ( cat docs/busybox_header.pod; \
+ docs/autodocifier.pl usage.h; \
+ cat docs/busybox_footer.pod ) > docs/busybox.pod
=head1 DESCRIPTION
The purpose of this script is to automagically generate documentation
for busybox using its usage.h as the original source for content.
-Currently, the same content has to be duplicated in 3 places in
+It used to be that same content has to be duplicated in 3 places in
slightly different formats -- F<usage.h>, F<docs/busybox.pod>, and
-F<docs/busybox.sgml>. This is tedious, so Perl has come to the rescue.
+F<docs/busybox.sgml>. This was tedious and error-prone, so it was
+decided that F<usage.h> would contain all the text in a
+machine-readable form, and scripts could be used to transform this
+text into other forms if necessary.
-This script was based on a script by Erik Andersen (andersen@lineo.com).
+F<autodocifier.pl> is one such script.
+It was based on a script by Erik Andersen <andersen@codepoet.org>
+which was in turn based on a script by Mark Whitley <markw@codepoet.org>
=head1 OPTIONS
#define length_full_usage \
"Prints out the length of the specified STRING."
#define length_example_usage \
- "$ length "Hello"\n" \
+ "$ length Hello\n" \
"5\n"
Each entry is a cpp macro that defines a string. The macros are
=item B<full>
This should contain descriptions of each option. This will also
-be displayed along with the trivial help if BB_FEATURE_TRIVIAL_HELP
+be displayed along with the trivial help if CONFIG_FEATURE_TRIVIAL_HELP
is disabled. I<REQUIRED>
=item B<notes>
This is documentation that is intended to go in the POD or SGML, but
-not be output when a B<-h> is given to a command. To see an example
-of notes being used, see init_notes_usage. I<OPTIONAL>
+not be printed when a B<-h> is given to a command. To see an example
+of notes being used, see init_notes_usage in F<usage.h>. I<OPTIONAL>
=item B<example>
-This should be an example of how the command is acutally used.
-I<OPTIONAL>
+This should be an example of how the command is actually used.
+This will not be printed when a B<-h> is given to a command -- it
+will only be included in the POD or SGML documentation. I<OPTIONAL>
=back
=head1 AUTHOR
-John BEPPU <beppu@lineo.com>
+John BEPPU <b@ax9.org>
=cut
-# $Id: autodocifier.pl,v 1.20 2001/04/10 00:00:05 kraai Exp $
+# $Id: autodocifier.pl,v 1.24 2003/07/14 21:20:48 andersen Exp $