X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=command_util.sh;h=4a9a03cc77f9637e20fc797d99f655ca3ce90a30;hp=ba5e99e2fcabb719ff0219f1ea65b2b4ded841a9;hb=9f487d2aaaa3462d9e4ecd76f22a75c9ae847e92;hpb=4346bb908d494a60f4fa52875ae10228125d82f2 diff --git a/command_util.sh b/command_util.sh index ba5e99e2..4a9a03cc 100755 --- a/command_util.sh +++ b/command_util.sh @@ -15,7 +15,7 @@ dump_array_member() echo ".perms = $perms_txt," fi echo ".description = \"$desc_txt\"," - echo ".synopsis = \"$syn_txt\"," + echo ".usage = \"$usage_txt\"," echo ".help = " echo "$help_txt" | sed -e 's/^/\"/g' -e 's/$/\\n\"/g' echo '},' @@ -36,10 +36,13 @@ read_header() CC:) c_file_comment="$value" ;; - FN:) - file_name="$value" + OF:) + output_file="$value" array_name=${value%command_list}cmds ;; + SF:) + source_file="$value" + ;; AT:) array_type="$value" ;; @@ -49,12 +52,14 @@ read_header() #include \"$i.h\"" done includes="$includes -#include \"$file_name.h\"" +#include \"$output_file.h\"" ;; + SN:) + section_name="$value" esac done if test -z "$header_comment" -o -z "$c_file_comment" \ - -o -z "$file_name"; then + -o -z "$output_file"; then echo "header error" 1&>2 exit 1 fi @@ -66,7 +71,7 @@ read_one_command() name_txt="" desc_txt="" - syn_txt="" + usage_txt="" help_txt="" perms_txt="" line_handler=0 @@ -88,8 +93,8 @@ read_one_command() L:) line_handler=1 ;; - S:) - syn_txt="$value" + U:) + usage_txt="$value" ;; H:) help_txt="${value}" @@ -105,12 +110,12 @@ ${line# }" ;; esac done - if test -n "$name_txt" -a -n "$desc_txt" -a -n "$syn_txt" \ + if test -n "$name_txt" -a -n "$desc_txt" -a -n "$usage_txt" \ -a -n "$help_txt"; then ret=1 return fi - if test -z "$name_txt" -a -z "$desc_txt" -a -z "$syn_txt" \ + if test -z "$name_txt" -a -z "$desc_txt" -a -z "$usage_txt" \ -a -z "$help_txt"; then ret=0 return @@ -120,46 +125,36 @@ ${line# }" echo "!ERROR!" echo "N: $name_txt" echo "D: $desc_txt" - echo "S: $syn_txt" + echo "S: $usage_txt" echo "P: $perms_txt" echo "H: $help_txt" } dump_man() { - echo "NAME" - printf "\t$name_txt - $desc_txt\n" - echo "SYNOPSIS" - printf "\t$syn_txt\n" - echo "DESCRIPTION" + echo ".SS \"$name_txt\"" + echo "$desc_txt" + echo + echo "\\fBusage: \\fP$usage_txt" + echo echo "$help_txt" + echo if test -n "$perms_txt"; then - echo "PERMISSIONS" + echo -n "\\fBpermissions:\\fP " if test "$perms_txt" = "0"; then - printf "\t(none)\n" + echo "(none)" else - printf "\t$perms_txt\n" + echo "$perms_txt" fi fi - + echo } com_man() { - local cn="$(grep ^codename Makefile.in)" - local ver="$(grep ^AC_INIT configure.ac \ - | cut -f 2 -d ',')" - cn=${cn#*=} - ver=${ver# *[} - ver=${ver%]} - echo "r=paraslash-$ver (cn: $cn)" - local n - local txtdir=txt - local mandir=man/man1 - local htmldir=html - local pfx="$1" - mkdir -p $txtdir $mandir $htmldir || exit 1 + echo "[$section_name]" + echo while : ; do read_one_command if test $ret -lt 0; then @@ -168,18 +163,13 @@ com_man() if test $ret -eq 0; then break fi - n=$pfx-$name_txt - echo "pfx: $pfx, name: $n" - dump_man > $txtdir/$n.txt - txt2man -t "$n" -r "$r" < $txtdir/$n.txt \ - | sed -e 1d > $mandir/$n.1 - man2html $mandir/$n.1 > $htmldir/$n.html + dump_man done } com_c_file() { - echo "/** \file $file_name.c $c_file_comment */" + echo "/** \file $output_file.c $c_file_comment */" echo "$includes" echo "struct $array_type $array_name[] = {" while : ; do @@ -208,21 +198,17 @@ dump_proto() echo ' * \param cmdline the full command line' fi echo ' * ' - echo " * synopsis: $syn_txt" + echo " * usage: $usage_txt" echo ' * ' echo "$help_txt" | sed -e 's/^/ * /g' echo ' */' - if test $line_handler -eq 0; then - echo "int com_$name_txt(int fd, int argc, char **argv);" - else - echo "int com_$name_txt(int fd, char *cmdline);" - fi + grep "^\(__noreturn \)*int com_$name_txt(" $source_file | sed -e 's/$/;/1' echo } com_header() { - echo "/** \file $file_name.h $header_comment */" + echo "/** \file $output_file.h $header_comment */" echo echo "extern struct $array_type $array_name[];" while : ; do