- Add support for automagically generating API documentation

with Doxygen. Just use ``make apidox''.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@208 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
tchernobog 2006-01-26 20:32:06 +00:00
parent 26f88aa4cf
commit b5def4cb81
5 changed files with 1278 additions and 6 deletions

View File

@ -18,8 +18,13 @@
# along with SGPEMv2; if not, write to the Free Software # along with SGPEMv2; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
.PHONY : apidox
SUBDIRS = doc m4 po src SUBDIRS = doc m4 po src
ACLOCAL_AMFLAGS = -I m4 ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = config/config.rpath config/mkinstalldirs configure.ac EXTRA_DIST = config/config.rpath config/mkinstalldirs configure.ac
apidox :
$(MAKE) -C $(top_builddir)/doc apidox

1237
config/Doxyfile.in Normal file

File diff suppressed because it is too large Load Diff

View File

@ -42,7 +42,7 @@ AC_CONFIG_AUX_DIR(config)
AC_CANONICAL_TARGET AC_CANONICAL_TARGET
dnl starting automake dnl starting automake
AM_INIT_AUTOMAKE([dejagnu]) AM_INIT_AUTOMAKE([dejagnu dist-bzip2])
dnl gettext & libtool dnl gettext & libtool
AC_PROG_LIBTOOL AC_PROG_LIBTOOL
@ -87,7 +87,7 @@ PKG_CHECK_MODULES([GTKMM],
dnl use DSO visibility tags for systems that supports it correctly dnl use DSO visibility tags for systems that supports it correctly
dnl (for example, GCC 4.0 and above) dnl (for example, GCC 4.0 and above)
dnl see http://gcc.gnu.org/wiki/Visibility for more informations dnl see http://gcc.gnu.org/wiki/Visibility for more informations
AC_MSG_CHECKING([wheter if the compiler properly supports DSO visibility]) AC_MSG_CHECKING([whether the compiler supports DSO visibility attributes])
AC_LANG_PUSH([C++]) AC_LANG_PUSH([C++])
AC_COMPILE_IFELSE( AC_COMPILE_IFELSE(
AC_LANG_PROGRAM([], [ AC_LANG_PROGRAM([], [
@ -133,6 +133,13 @@ AC_COMPILE_IFELSE(
AC_LANG_POP AC_LANG_POP
dnl check for Doxygen
AC_CHECK_PROG([HAVE_DOXYGEN],[doxygen],[yes])
AC_CHECK_PROG([HAVE_DOT],[dot], [yes])
AM_CONDITIONAL([HAVE_DOXYGEN],[test x$HAVE_DOXYGEN = xyes])
AC_CONFIG_FILES([config/Doxyfile])
AC_CONFIG_HEADERS([config.h:config.h.in]) AC_CONFIG_HEADERS([config.h:config.h.in])
AC_CONFIG_FILES([ AC_CONFIG_FILES([

View File

@ -18,6 +18,8 @@
# along with SGPEMv2; if not, write to the Free Software # along with SGPEMv2; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
.PHONY : apidox
info_TEXINFOS = sgpem2uman.texi sgpem2dman.texi info_TEXINFOS = sgpem2uman.texi sgpem2dman.texi
licenses = fdl.texi gpl.texi licenses = fdl.texi gpl.texi
@ -25,3 +27,9 @@ licenses = fdl.texi gpl.texi
sgpem2uman_TEXINFOS = $(licenses) vers-uman.texi sgpem2uman_TEXINFOS = $(licenses) vers-uman.texi
sgpem2dman_TEXINFOS = $(licenses) vers-dman.texi sgpem2dman_TEXINFOS = $(licenses) vers-dman.texi
apidox :
if HAVE_DOXYGEN
doxygen @top_builddir@/config/Doxyfile
else
@echo "** Doxygen not installed. Skipping generating API docs."
endif

View File

@ -85,6 +85,10 @@ Free Documentation License''.
@table @strong @table @strong
@item 2006, January 26th @r{--- Matteo Settenvini}
Add subsection about how to generate code documentation
via Doxygen.
@item 2005, December 11th @r{--- Matteo Settenvini} @item 2005, December 11th @r{--- Matteo Settenvini}
Added full license text. Added full license text.
@ -111,10 +115,11 @@ First draft of this document.
@cindex SGPEM @cindex SGPEM
@cindex description @cindex description
SGPEM is an Italian acronym, standing for ``@emph{Simulatore della Gestione dei Processi in un Elaboratore Multiprogrammato}'' (in English, SGPEM is an Italian acronym, standing for ``@emph{Simulatore della Gestione dei Processi
``@emph{Multitasking Computer Process Management Simulator}''). in un Elaboratore Multiprogrammato}'' (in English, ``@emph{Multitasking Computer Process
It was initially developed for use inside the Course in Computer Science Management Simulator}'').
of the Padova University, Italy. It was initially developed for use inside the ``Operating Systems'' teaching,
part of the Computer Science course of the University of Padova, Italy.
SGPEMv2 is a didactic software aiming... SGPEMv2 is a didactic software aiming...
@ -225,6 +230,16 @@ will sufficit).
See the ``@file{INSTALL}'' file in this folder for an overview of other See the ``@file{INSTALL}'' file in this folder for an overview of other
(less common) autoconf options. (less common) autoconf options.
@subsection Generating API documentation
We added Doxygen support to the project. If you've installed it,
you can simply run @command{make apidox} from the package
top source directory. The documentation will be outputted into
the @samp{$@{BUILD_DIR@}/docs/API/} directory.
If you'd like to generate nicier inheritance graphs, you've just to
install @command{dot}, part of the @emph{Graphviz} package.
@c % -------------------------------------------------- @c % --------------------------------------------------
@c include license text @c include license text