summaryrefslogtreecommitdiffstats
path: root/doxygen
diff options
context:
space:
mode:
authorDavid Sommerseth <dazo@users.sourceforge.net>2009-09-22 14:30:39 +0200
committerDavid Sommerseth <dazo@users.sourceforge.net>2009-09-22 14:30:39 +0200
commitbd75afcc2d7c4714bee568b7fed37f840aaee9ac (patch)
tree8f05d9498528f2c8cf374c5f5f4fbb7c0dccf07c /doxygen
parent02e5c0d3d43295124fe4c284bdaa0d2b4217e87d (diff)
downloadeurephia-bd75afcc2d7c4714bee568b7fed37f840aaee9ac.tar.gz
eurephia-bd75afcc2d7c4714bee568b7fed37f840aaee9ac.tar.xz
eurephia-bd75afcc2d7c4714bee568b7fed37f840aaee9ac.zip
Improved Doxygen generation, added index page
Diffstat (limited to 'doxygen')
-rw-r--r--doxygen/Doxygen.conf16
-rw-r--r--doxygen/doxygen_mainpage.h129
2 files changed, 137 insertions, 8 deletions
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 <dazo@users.sourceforge.net>
+ *
+ * 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.
+ *
+ * - <b>common/</b>
+ * - This is where all source code used by all modules should be expected to reside
+ *
+ * - <b>database/</b>
+ * - 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
+ *
+ * - <b>database/sqlite/</b>
+ * - The SQLite3 database driver (edb-sqlite.so) is located here
+ * - @ref edb-sqlite.c
+ *
+ * - <b>eurephiadm/</b>
+ * - Everything connected to the eurephiadm, the console based administration utility.
+ * - @ref eurephiadm.c
+ *
+ * - <b>eurephia/command/</b>
+ * - eurephiadm is built up by a set of commands. Each command is found in separate
+ * files here.
+ *
+ * - <b>plugin/</b>
+ * - The OpenVPN plug-in (eurephia-auth.so) is located in this directory
+ * - @ref eurephia-auth.c
+ *
+ * - <b>plugin/firewall/</b>
+ * - The generic parts for the firewall integration of the plug-in
+ *
+ * - <b>plugin/firewall/iptables/</b>
+ * - The iptables "driver" (efw-iptables.so) for the firewall integration
+ * - @ref efw-iptables.c
+ *
+ * - <b>utils/</b>
+ * - 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
+ *
+ * <hr>
+ * @section build Building eurephia and installing
+ * Run the <i>./configure</i> script to prepare the build. This script requires
+ * <a href="http://www.cmake.org">CMake</a> (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 <i>./configure --help</i>
+ *
+ * Then run <i>make</i> to do the build.
+ *
+ * To install eurephia, Run <i>make install</i>.
+ * <hr>
+ * @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
+ * <a href="http://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html">git format-patch</a>
+ * command.
+ *
+ * <hr>
+ * @section locations Locations
+ * - <b>Website</b>
+ * - http://www.eurephia.net/
+ *
+ * - <b>Community places</b>
+ * - http://sourceforge.net/projects/eurephia
+ * - IRC: irc.freenode.net, @#eurephia
+ *
+ * - <b>Trackers</b>
+ * - Bugs: http://sourceforge.net/tracker/?group_id=236344&atid=1099760
+ * - Patches: http://sourceforge.net/tracker/?group_id=236344&atid=1099762
+ *
+ * - <b>Source code</b>
+ * - git repository: git://eurephia.git.sourceforge.net/gitroot/eurephia/eurephia
+ * - Browse the source code: http://eurephia.git.sourceforge.net/git/gitweb-index.cgi
+ *
+ * <hr>
+ * @section contact Contact
+ * - David Sommerseth (irc: dazo) <dazo@users.sourceforge.net>
+ *
+ * <hr>
+ * @section requirements Requirements
+ *
+ * Generic requirements for building eurephia
+ * - <a href="http://www.cmake.org/">CMake</a>
+ *
+ * The following header files and libraries is required to build eurephia:
+ *
+ * - <b>eurephia-auth</b> - OpenVPN authentication plug-in
+ * - <a href="http://www.sqlite.org">SQLite3</a>
+ * - <a href="http://www.openvpn.net/index.php/open-source/downloads.html">OpenVPN source tree</a>
+ *
+ * - <b>eurephia administration utility</b> (eurephiadm and eurephia_init)
+ * - <a href="http://www.sqlite.org">SQLite3</a>
+ * - <a href="http://www.xmlsoft.org/">libxml2</a>
+ * - <a href="http://xmlsoft.org/XSLT/">libxslt2</a>
+ *
+ */