From bd75afcc2d7c4714bee568b7fed37f840aaee9ac Mon Sep 17 00:00:00 2001 From: David Sommerseth Date: Tue, 22 Sep 2009 14:30:39 +0200 Subject: Improved Doxygen generation, added index page --- doxygen/Doxygen.conf | 16 +++--- doxygen/doxygen_mainpage.h | 129 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 137 insertions(+), 8 deletions(-) create mode 100644 doxygen/doxygen_mainpage.h diff --git a/doxygen/Doxygen.conf b/doxygen/Doxygen.conf index 18b9ab3..7737845 100644 --- a/doxygen/Doxygen.conf +++ b/doxygen/Doxygen.conf @@ -25,20 +25,20 @@ DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. -PROJECT_NAME = "eurephia" +PROJECT_NAME = "eurephia v1.0 - Developer" # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = "eurephia v1.0" +# PROJECT_NUMBER = 0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. -OUTPUT_DIRECTORY = ./doxygen +OUTPUT_DIRECTORY = eurephia-devel # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output @@ -114,7 +114,7 @@ FULL_PATH_NAMES = YES # If left blank the directory from which doxygen is run is used as the # path to strip. -STRIP_FROM_PATH = +STRIP_FROM_PATH = ../ # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells @@ -350,7 +350,7 @@ HIDE_UNDOC_CLASSES = NO # If set to NO (the default) these declarations will be included in the # documentation. -HIDE_FRIEND_COMPOUNDS = NO +HIDE_FRIEND_COMPOUNDS = YES # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. @@ -557,7 +557,7 @@ WARN_FORMAT = "$file:$line: $text" # and error messages should be written. If left blank the output is written # to stderr. -WARN_LOGFILE = +WARN_LOGFILE = doxygen.log #--------------------------------------------------------------------------- # configuration options related to the input files @@ -568,7 +568,7 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = common/ database/ database/sqlite database/sqlite/administration eurephiadm/ eurephiadm/commands plugin/ plugin/firewall plugin/firewall/iptables utils/ +INPUT = ../common/ ../database/ ../database/sqlite ../database/sqlite/administration ../eurephiadm/ ../eurephiadm/commands ../plugin/ ../plugin/firewall ../plugin/firewall/iptables ../utils/ . # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -597,7 +597,7 @@ RECURSIVE = NO # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. -EXCLUDE = .git/ test/ doxygen/ database/eurephiadb-driver_template.c +EXCLUDE = ../.git/ ../test/ ../doxygen/eurephia-devel ../database/eurephiadb-driver_template.c # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded diff --git a/doxygen/doxygen_mainpage.h b/doxygen/doxygen_mainpage.h new file mode 100644 index 0000000..af2de0d --- /dev/null +++ b/doxygen/doxygen_mainpage.h @@ -0,0 +1,129 @@ +/* mainpage.h -- Doxygen main page - only to be used by doxygen + * + * GPLv2 only - Copyright (C) 2008 + * David Sommerseth + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; version 2 + * of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +/** + * @mainpage eurephia v1.0 developers reference + * @section overview Overview of the source tree + * eurephia is built up in a modular way and code reuse is an important element. The source + * tree is divided into several smaller parts where each part or module is located. + * + * The project is written strictly in C, but the administration utility makes use of XSLT + * as a template engine to display reports. + * + * - common/ + * - This is where all source code used by all modules should be expected to reside + * + * - database/ + * - Everything connected to the database API is found here. The generic database modules + * will also be located in the root of this directory. Each database driver must reside + * in a separate directory + * + * - database/sqlite/ + * - The SQLite3 database driver (edb-sqlite.so) is located here + * - @ref edb-sqlite.c + * + * - eurephiadm/ + * - Everything connected to the eurephiadm, the console based administration utility. + * - @ref eurephiadm.c + * + * - eurephia/command/ + * - eurephiadm is built up by a set of commands. Each command is found in separate + * files here. + * + * - plugin/ + * - The OpenVPN plug-in (eurephia-auth.so) is located in this directory + * - @ref eurephia-auth.c + * + * - plugin/firewall/ + * - The generic parts for the firewall integration of the plug-in + * + * - plugin/firewall/iptables/ + * - The iptables "driver" (efw-iptables.so) for the firewall integration + * - @ref efw-iptables.c + * + * - utils/ + * - Utilities which is not installed during make install. The eurephia_init program + * resides here together with saltdecode. eurephia_init is used to configure a new + * eurephia database, while saltdecode is used for debugging and will decode + * the password salt hashing information. + * - @ref eurephia_init.c saltdecode.c + * + *
+ * @section build Building eurephia and installing + * Run the ./configure script to prepare the build. This script requires + * CMake (at least version 2.6) to be installed. The configure + * script will require some parameters, depending on which features being prepared in the build. + * For a complete overview of all parameters, see ./configure --help + * + * Then run make to do the build. + * + * To install eurephia, Run make install. + *
+ * @section patches How to contribute + * Contributions to the source code will be very much appreciated. Patches should be based + * on the master branch in the git tree. Patches should be uploaded to the project web site + * on sourceforge.net + * + * http://sourceforge.net/tracker/?group_id=236344&atid=1099762 + * + * Contributed patches should be prepared by using the + * git format-patch + * command. + * + *
+ * @section locations Locations + * - Website + * - http://www.eurephia.net/ + * + * - Community places + * - http://sourceforge.net/projects/eurephia + * - IRC: irc.freenode.net, @#eurephia + * + * - Trackers + * - Bugs: http://sourceforge.net/tracker/?group_id=236344&atid=1099760 + * - Patches: http://sourceforge.net/tracker/?group_id=236344&atid=1099762 + * + * - Source code + * - git repository: git://eurephia.git.sourceforge.net/gitroot/eurephia/eurephia + * - Browse the source code: http://eurephia.git.sourceforge.net/git/gitweb-index.cgi + * + *
+ * @section contact Contact + * - David Sommerseth (irc: dazo) + * + *
+ * @section requirements Requirements + * + * Generic requirements for building eurephia + * - CMake + * + * The following header files and libraries is required to build eurephia: + * + * - eurephia-auth - OpenVPN authentication plug-in + * - SQLite3 + * - OpenVPN source tree + * + * - eurephia administration utility (eurephiadm and eurephia_init) + * - SQLite3 + * - libxml2 + * - libxslt2 + * + */ -- cgit