documentation: add Doxyfile
authorBartosz Golaszewski <bartekgola@gmail.com>
Mon, 2 Jan 2017 11:41:52 +0000 (12:41 +0100)
committerBartosz Golaszewski <bartekgola@gmail.com>
Mon, 2 Jan 2017 12:38:07 +0000 (13:38 +0100)
Add doxygen configuration and a new target to Makefile.am to generate
documentation. Also: update gitignore.

Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
.gitignore
Doxyfile [new file with mode: 0644]
Makefile.am
gpiod.h

index 91b11dddc25dbe8e7429c72e680c442dfdb3d89e..060ee04c559443174f8e6af6bd888523ef9f53aa 100644 (file)
@@ -6,6 +6,7 @@ gpioget
 gpioset
 *.o
 *.lo
+doc
 
 # autotools stuff
 .deps/
diff --git a/Doxyfile b/Doxyfile
new file mode 100644 (file)
index 0000000..5e61d89
--- /dev/null
+++ b/Doxyfile
@@ -0,0 +1,124 @@
+#
+# Copyright (C) 2017 Bartosz Golaszewski <bartekgola@gmail.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 3 as
+# published by the Free Software Foundation.
+#
+
+# libgpiod doxygen configuration
+
+# General configuration
+PROJECT_NAME           = libgpiod
+PROJECT_NUMBER         = ALPHA
+OUTPUT_DIRECTORY       = doc
+OUTPUT_LANGUAGE        = English
+EXTRACT_ALL            = NO
+EXTRACT_PRIVATE        = NO
+EXTRACT_STATIC         = NO
+HIDE_UNDOC_MEMBERS     = NO
+HIDE_UNDOC_CLASSES     = NO
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = YES
+ALWAYS_DETAILED_SEC    = NO
+FULL_PATH_NAMES        = NO
+STRIP_FROM_PATH        =
+INTERNAL_DOCS          = NO
+STRIP_CODE_COMMENTS    = YES
+CASE_SENSE_NAMES       = YES
+SHORT_NAMES            = NO
+HIDE_SCOPE_NAMES       = NO
+VERBATIM_HEADERS       = YES
+SHOW_INCLUDE_FILES     = YES
+JAVADOC_AUTOBRIEF      = YES
+INHERIT_DOCS           = YES
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = YES
+DISTRIBUTE_GROUP_DOC   = NO
+TAB_SIZE               = 8
+GENERATE_TODOLIST      = YES
+GENERATE_TESTLIST      = YES
+GENERATE_BUGLIST       = YES
+ALIASES                =
+ENABLED_SECTIONS       =
+MAX_INITIALIZER_LINES  = 30
+OPTIMIZE_OUTPUT_FOR_C  = YES
+SHOW_USED_FILES        = YES
+QUIET                  = YES
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = YES
+WARN_FORMAT            =
+WARN_LOGFILE           =
+INPUT                  = gpiod.h
+SOURCE_BROWSER         = YES
+INLINE_SOURCES         = NO
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION    = YES
+ALPHABETICAL_INDEX     = NO
+COLS_IN_ALPHA_INDEX    = 5
+IGNORE_PREFIX          =
+SEARCHENGINE           = NO
+
+# HTML output
+GENERATE_HTML          = YES
+HTML_OUTPUT            =
+HTML_HEADER            =
+HTML_FOOTER            =
+HTML_STYLESHEET        =
+GENERATE_HTMLHELP      = NO
+GENERATE_CHI           = NO
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+DISABLE_INDEX          = NO
+ENUM_VALUES_PER_LINE   = 4
+GENERATE_TREEVIEW      = NO
+TREEVIEW_WIDTH         = 250
+
+# LaTeX output
+GENERATE_LATEX         = NO
+LATEX_OUTPUT           =
+COMPACT_LATEX          = NO
+PAPER_TYPE             = a4wide
+EXTRA_PACKAGES         =
+LATEX_HEADER           =
+PDF_HYPERLINKS         = NO
+USE_PDFLATEX           = NO
+LATEX_BATCHMODE        = NO
+
+# RTF output
+GENERATE_RTF           = NO
+RTF_OUTPUT             =
+COMPACT_RTF            = NO
+RTF_HYPERLINKS         = NO
+RTF_STYLESHEET_FILE    =
+RTF_EXTENSIONS_FILE    =
+
+# Man page output
+GENERATE_MAN           = YES
+MAN_OUTPUT             = man
+MAN_EXTENSION          = .3
+MAN_LINKS              = YES
+
+# XML output
+GENERATE_XML           = YES
+
+# External references
+TAGFILES               =
+GENERATE_TAGFILE       =
+ALLEXTERNALS           = NO
+PERL_PATH              =
+
+# Dot tool
+CLASS_DIAGRAMS         = YES
+HAVE_DOT               = NO
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = YES
+TEMPLATE_RELATIONS     = YES
+HIDE_UNDOC_RELATIONS   = YES
+INCLUDE_GRAPH          = YES
+INCLUDED_BY_GRAPH      = YES
+GRAPHICAL_HIERARCHY    = YES
+DOT_PATH               =
+DOTFILE_DIRS           =
+GENERATE_LEGEND        = YES
+DOT_CLEANUP            = YES
index 9c96785a94c9d0044fda2149cebec749a81a0171..19a3d39f102ae2c75ee74a8a9928be7f8e6aa606 100644 (file)
@@ -30,3 +30,7 @@ gpioget_LDFLAGS = -lgpiod
 
 gpioset_SOURCES = gpioset.c
 gpioset_LDFLAGS = -lgpiod
+
+doc:
+       doxygen
+.PHONY: doc
diff --git a/gpiod.h b/gpiod.h
index 0cc86b043fd2f6bb6652d1c8a7a6dd6828e40fbd..d7b451dbc4988f5c262152b8e80075acb31cf9a8 100644 (file)
--- a/gpiod.h
+++ b/gpiod.h
@@ -8,6 +8,15 @@
  * published by the Free Software Foundation.
  */
 
+/**
+ * @mainpage libgpiod public API
+ *
+ * This is the documentation of the public API exported by libgpiod.
+ *
+ * <p>These functions and data structures allow to use the complete
+ * functionality of the linux GPIO character device interface.
+ */
+
 #ifndef __GPIOD__
 #define __GPIOD__