#! /usr/bin/perl -w use POSIX; if ($#ARGV < 0) { print "Usage: ./docmaker functions.txt\n"; exit -1; } open FUNCHANDLE, "<$ARGV[0]" || die; $i = 0; while () { next if /^\n/; chop; if (/^(\D.+?) \\-.+$/){ $docfile = "minigui$1.3"; open DOC, ">$docfile" || die; print DOC ".\\\" This manpage is Copyright (C) 2000, 2001 Wei Yongming\n"; print DOC ".\\\" 2000, 2001 BluePoint Software\n"; print DOC ".\\\"\n"; print DOC ".\\\" Permission is granted to make and distribute verbatim copies of this\n"; print DOC ".\\\" manual provided the copyright notice and this permission notice are\n"; print DOC ".\\\" preserved on all copies.\n"; print DOC ".\\\"\n"; print DOC ".\\\" Permission is granted to copy and distribute modified versions of this\n"; print DOC ".\\\" manual under the conditions for verbatim copying, provided that the\n"; print DOC ".\\\" entire resulting derived work is distributed under the terms of a\n"; print DOC ".\\\" permission notice identical to this one.\n"; print DOC ".\\\"\n"; print DOC ".\\\" Since MiniGUI is constantly changing, this\n"; print DOC ".\\\" manual page may be incorrect or out-of-date. The author(s) assume no\n"; print DOC ".\\\" responsibility for errors or omissions, or for damages resulting from\n"; print DOC ".\\\" the use of the information contained herein. The author(s) may not\n"; print DOC ".\\\" have taken the same level of care in the production of this manual,\n"; print DOC ".\\\" which is licensed free of charge, as they might when working\n"; print DOC ".\\\" professionally.\n"; print DOC ".\\\"\n"; print DOC ".\\\" Formatted or processed versions of this manual, if unaccompanied by\n"; print DOC ".\\\" the source, must acknowledge the copyright and authors of this work.\n"; print DOC ".TH \"$1\" "; print DOC "\"3\" \"August 2000\" \"MiniGUI\"\n\n"; print DOC ".SH \"NAME\"\n"; print DOC "$_\n\n"; print DOC ".SH \"SYNOPSIS\"\n"; } elsif (/^#.+?/){ print DOC ".B $_\n"; print DOC ".br\n"; } else{ $funcname[$i++]=$_; } } print DOC "\n.PP\n"; for ($j = 0; $j < $i; $j++){ $funcname[$j] =~ /(.+?) *(\(.+?\);)/; $funcname[$j] = $1; print DOC ".BI \"$1\" \"$2\"\n"; print DOC ".br\n" if ($j != $i - 1); } print DOC ".SH \"DESCRIPTION\"\n"; print DOC ".PP\n"; for ($j = 0; $j < $i; $j++){ $funcname[$j] =~ /.+ (.+?)$/; print DOC "\\fB$1\\fP function description goes here\n"; print DOC ".PP\n" if ($j != $i - 1); # open FUNCDOC, ">$1.3" || die; # print FUNCDOC ".so man3/$docfile\n"; # close FUNCDOC; } print DOC ".SH \"RETURN VALUE\"\n"; print DOC ".PP\n\n"; print DOC ".SH \"NOTE\"\n"; print DOC ".PP\n\n"; print DOC ".SH \"SEE ALSO\"\n\n"; print DOC ".SH \"AUTHOR\"\n"; print DOC ".PP\n"; print DOC "This manual page was edited by .\n"; print DOC "If you have any problems, comments or found some bugs, please send messages to me.\n"; close FUNCHANDLE; close DOC;