diff --git a/doc/Doxyfile b/doc/Doxyfile
index 0776736a5e02958a675d21e4e2558036e0e8b7e3..8bf8de71edcb4012d29554b92c777ac7019a70e0 100644
--- a/doc/Doxyfile
+++ b/doc/Doxyfile
@@ -625,7 +625,8 @@ INPUT                  = doxygen.main \
                          ../intern/ghost \
                          ../source/blender/blenloader \
                          ../source/blender/readblenfile \
-                         ../source/blender/blenkernel
+                         ../source/blender/blenkernel \
+                         ../source/blender/blenlib
 
 # 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 
diff --git a/source/blender/blenlib/BLI_args.h b/source/blender/blenlib/BLI_args.h
index 2927314e22547de258bab8c189950e70359c93e1..2e08c63cdfe05b114fc8b2d0712d2823c5475e92 100644
--- a/source/blender/blenlib/BLI_args.h
+++ b/source/blender/blenlib/BLI_args.h
@@ -1,6 +1,4 @@
-/**
- * A general argument parsing module
- *
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -32,6 +30,11 @@
 #ifndef BLI_ARGS_H
 #define BLI_ARGS_H
 
+/** \file BLI_args.h
+ *  \ingroup bli
+ *  \brief A general argument parsing module.
+ */
+
 struct bArgs;
 typedef struct bArgs bArgs;
 
diff --git a/source/blender/blenlib/BLI_blenlib.h b/source/blender/blenlib/BLI_blenlib.h
index 8423c07e7c9019b2dac7f7806bf2f62d79f795ee..59d5b5cdef80b9140a1afb4a4370aca1dc0c580e 100644
--- a/source/blender/blenlib/BLI_blenlib.h
+++ b/source/blender/blenlib/BLI_blenlib.h
@@ -25,10 +25,14 @@
  * Contributor(s): none yet.
  *
  * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file BLI_blenlib.h
+ *  \ingroup bli
  *
- * @mainpage BLI - Blender LIbrary external interface
+ * \section aboutbli Blender LIbrary external interface
  *
- * @section about About the BLI module
+ * \subsection about About the BLI module
  *
  * This is the external interface of the Blender Library. If you find
  * a call to a BLI function that is not prototyped here, please add a
@@ -39,7 +43,7 @@
  * allocation/deallocation. There is also a patch to make MS Windows
  * behave more or less Posix-compliant.
  *
- * @section issues Known issues with BLI
+ * \subsection issues Known issues with BLI
  *
  * - blenlib is written in C.
  * - The posix-compliancy may move to a separate lib that deals with 
@@ -51,13 +55,11 @@
  * - vectorops.c is close to superfluous. It may disappear in the 
  *   near future.
  * 
- * @section dependencies Dependencies
+ * \subsection dependencies Dependencies
  *
- * - The blenlib uses type defines from makesdna/, and functions from
+ * - The blenlib uses type defines from \ref DNA, and functions from
  * standard libraries.
- * 
- * $Id$ 
-*/
+ */
 
 #ifndef BLI_BLENLIB_H
 #define BLI_BLENLIB_H
diff --git a/source/blender/blenlib/BLI_boxpack2d.h b/source/blender/blenlib/BLI_boxpack2d.h
index 008af55e1d0d23b227d0990b9e991ff42ea47262..886965f66b3db9a9e263f5ce6c6ddd01f87b3ee5 100644
--- a/source/blender/blenlib/BLI_boxpack2d.h
+++ b/source/blender/blenlib/BLI_boxpack2d.h
@@ -1,6 +1,4 @@
-/**
- * 
- *
+/*
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
@@ -27,6 +25,13 @@
  * ***** END GPL LICENSE BLOCK *****
  */
 
+#ifndef _BLI_BOXPACK2D_H_
+#define _BLI_BOXPACK2D_H_
+
+/** \file BLI_boxpack2d.h
+ *  \ingroup bli
+ */
+
 /* Box Packer */
 
 typedef struct boxPack {
@@ -43,3 +48,5 @@ typedef struct boxPack {
 
 void boxPack2D(boxPack *boxarray, const int len, float *tot_width, float *tot_height);
 
+#endif
+
diff --git a/source/blender/blenlib/BLI_bpath.h b/source/blender/blenlib/BLI_bpath.h
index 8c351d6020dd5f48477277d85e636b489a790bb0..2200ec70789b6a3867e88db8050aa8587928b8cf 100644
--- a/source/blender/blenlib/BLI_bpath.h
+++ b/source/blender/blenlib/BLI_bpath.h
@@ -1,4 +1,4 @@
-/**
+/*
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
@@ -26,8 +26,11 @@
  * ***** END GPL LICENSE BLOCK *****
  */
 
-/* Based on ghash, difference is ghash is not a fixed size,
- * so for BPath we dont need to malloc  */
+/** \file BLI_bpath.h
+ *  \ingroup bli
+ *  \attention Based on ghash, difference is ghash is not a fixed size,
+ *   so for BPath we dont need to malloc
+ */
 
 #ifndef BLI_BPATH_H
 #define BLI_BPATH_H
diff --git a/source/blender/blenlib/BLI_cpu.h b/source/blender/blenlib/BLI_cpu.h
index d809f1cc594a613abc638de6541e0d1b9712c484..addcf1273b3408cbfd12c489943baac58d6e4471 100644
--- a/source/blender/blenlib/BLI_cpu.h
+++ b/source/blender/blenlib/BLI_cpu.h
@@ -1,5 +1,4 @@
 /*
- *
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -24,6 +23,10 @@
 #ifndef BLI_CPU_H
 #define BLI_CPU_H 
 
+/** \file BLI_cpu.h
+ *  \ingroup bli
+ */
+
 int BLI_cpu_support_sse2(void);
 
 #endif
diff --git a/source/blender/blenlib/BLI_dlrbTree.h b/source/blender/blenlib/BLI_dlrbTree.h
index 4b3768c35477e32e41e1b909d9a63659f788542f..24c819ada55b2e6309bb0b2066789633f2297a25 100644
--- a/source/blender/blenlib/BLI_dlrbTree.h
+++ b/source/blender/blenlib/BLI_dlrbTree.h
@@ -1,4 +1,4 @@
-/**
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -28,6 +28,11 @@
 #ifndef BLI_DLRB_TREE_H
 #define BLI_DLRB_TREE_H
 
+/** \file BLI_dlrbTree.h
+ *  \ingroup bli
+ *  \author Joshua Leung
+ */
+
 /* Double-Linked Red-Black Tree Implementation:
  * 
  * This is simply a Red-Black Tree implementation whose nodes can later
diff --git a/source/blender/blenlib/BLI_dynstr.h b/source/blender/blenlib/BLI_dynstr.h
index 34e77007d95f0b8a358d8d34f397ebbeb197e30d..ed7a76daa9233b37900903bdf3d057e4557ce2ee 100644
--- a/source/blender/blenlib/BLI_dynstr.h
+++ b/source/blender/blenlib/BLI_dynstr.h
@@ -1,12 +1,4 @@
-/**
- * @file BLI_dynstr.h
- * 
- * A dynamically sized string ADT.
- * This ADT is designed purely for dynamic string creation
- * through appending, not for general usage, the intent is
- * to build up dynamic strings using a DynStr object, then
- * convert it to a c-string and work with that.
- * 
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -38,6 +30,16 @@
 #ifndef BLI_DYNSTR_H
 #define BLI_DYNSTR_H
 
+/** \file BLI_dynstr.h
+ *  \ingroup bli
+ *  \brief A dynamically sized string ADT.
+ *  \section aboutdynstr Dynamic String
+ * This ADT is designed purely for dynamic string creation
+ * through appending, not for general usage, the intent is
+ * to build up dynamic strings using a DynStr object, then
+ * convert it to a c-string and work with that.
+ */
+
 #include <stdarg.h>
 
 struct DynStr;
diff --git a/source/blender/blenlib/BLI_edgehash.h b/source/blender/blenlib/BLI_edgehash.h
index e74910ddb0952ae25b8bc0ed5373073dcd0c5cce..fba13035f02d2260eff980aff33c8959c31600c7 100644
--- a/source/blender/blenlib/BLI_edgehash.h
+++ b/source/blender/blenlib/BLI_edgehash.h
@@ -1,6 +1,4 @@
-/**
- * A general unordered 2-int pair hash table ADT
- * 
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -32,6 +30,12 @@
 #ifndef BLI_EDGEHASH_H
 #define BLI_EDGEHASH_H
 
+/** \file BLI_storage.h
+ *  \ingroup bli
+ *  \author Daniel Dunbar
+ *  \brief A general unordered 2-int pair hash table ADT.
+ */
+
 struct EdgeHash;
 struct EdgeHashIterator;
 typedef struct EdgeHash EdgeHash;
diff --git a/source/blender/blenlib/BLI_editVert.h b/source/blender/blenlib/BLI_editVert.h
index 051778772e0f484ba57ef366b78b2749c91fc4e3..b422b79b165c8338c53880afadc21ffa2f573081 100644
--- a/source/blender/blenlib/BLI_editVert.h
+++ b/source/blender/blenlib/BLI_editVert.h
@@ -1,9 +1,4 @@
-/**
- * blenlib/BLI_editVert.h    mar 2001 Nzc
- *
- * Some editing types needed in the lib (unfortunately) for
- * scanfill.c
- *
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -35,6 +30,14 @@
 #ifndef BLI_EDITVERT_H
 #define BLI_EDITVERT_H
 
+/** \file BLI_editVert.h
+ *  \ingroup bli
+ *  \since March 2001
+ *  \author nzc
+ *  \brief Some editing types needed in the lib (unfortunately) for
+ *   scanfill.c
+ */
+
 #include "DNA_customdata_types.h"
 #include "DNA_mesh_types.h"
 
diff --git a/source/blender/blenlib/BLI_fileops.h b/source/blender/blenlib/BLI_fileops.h
index 95d890f133f71171991b6b5c44961eeff621d961..59c01348c07b5515cfc701e3f6ba6cfacdd27dee 100644
--- a/source/blender/blenlib/BLI_fileops.h
+++ b/source/blender/blenlib/BLI_fileops.h
@@ -1,6 +1,4 @@
-/**
- * blenlib/BLI_listBase.h    mar 2001 Nzc
- *
+/*
  * $Id$ 
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -27,8 +25,12 @@
  * Contributor(s): none yet.
  *
  * ***** END GPL LICENSE BLOCK *****
- *
- * More low-level fileops from Daniel Dunbar. Two functions were also
+ */
+
+/** \file BLI_fileops.h
+ *  \ingroup bli
+ *  \author Daniel Dunbar
+ *  \brief More low-level fileops from Daniel Dunbar. Two functions were also
  * defined in storage.c. These are the old fop_ prefixes. There is
  * definitely some redundancy here!
  * */
diff --git a/source/blender/blenlib/BLI_fnmatch.h b/source/blender/blenlib/BLI_fnmatch.h
index 1dffb285451642f7c4ed8f12346a91b3837ba65a..94ae741250fade038146cb1bd4d717c0a3c20cee 100644
--- a/source/blender/blenlib/BLI_fnmatch.h
+++ b/source/blender/blenlib/BLI_fnmatch.h
@@ -18,9 +18,12 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 #ifndef	_FNMATCH_H
-
 #define	_FNMATCH_H	1
 
+/** \file BLI_fnmatch.h
+ *  \ingroup bli
+ */
+
 #ifdef	__cplusplus
 extern "C" {
 #endif
diff --git a/source/blender/blenlib/BLI_ghash.h b/source/blender/blenlib/BLI_ghash.h
index a9fc5662657ab731196b6a38f88f4362585d8d7d..dcc71fa12588fecbd81400e35c9935abe78111da 100644
--- a/source/blender/blenlib/BLI_ghash.h
+++ b/source/blender/blenlib/BLI_ghash.h
@@ -1,6 +1,4 @@
-/**
- * A general (pointer -> pointer) hash table ADT
- * 
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -32,6 +30,11 @@
 #ifndef BLI_GHASH_H
 #define BLI_GHASH_H
 
+/** \file BLI_ghash.h
+ *  \ingroup bli
+ *  \brief A general (pointer -> pointer) hash table ADT
+ */
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/source/blender/blenlib/BLI_graph.h b/source/blender/blenlib/BLI_graph.h
index 1dd439468f79bc091a4d35a6a4585165dfb45429..f625c7bb2d4a06fcd1464d01ed0886164cb64c07 100644
--- a/source/blender/blenlib/BLI_graph.h
+++ b/source/blender/blenlib/BLI_graph.h
@@ -1,6 +1,10 @@
 #ifndef BLI_GRAPH_H_
 #define BLI_GRAPH_H_
 
+/** \file BLI_graph.h
+ *  \ingroup bli
+ */
+
 #include "DNA_listBase.h"
 
 struct BGraph;
diff --git a/source/blender/blenlib/BLI_gsqueue.h b/source/blender/blenlib/BLI_gsqueue.h
index afc4cb38b10e6c14b1763ddca66783fb351151e8..572c54b7b7e5fabb635abc9fb58880f9ed44b5ef 100644
--- a/source/blender/blenlib/BLI_gsqueue.h
+++ b/source/blender/blenlib/BLI_gsqueue.h
@@ -1,7 +1,4 @@
 /*
- * A generic structure queue (a queue for fixed length
- * (generally small) structures.
- * 
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -33,6 +30,12 @@
 #ifndef BLI_GSQUEUE_H
 #define BLI_GSQUEUE_H
 
+/** \file BLI_gsqueue.h
+ *  \ingroup bli
+ *  \brief A generic structure queue (a queue for fixed length
+ *   (generally small) structures.
+ */
+
 typedef struct _GSQueue GSQueue;
 
 	/**
diff --git a/source/blender/blenlib/BLI_heap.h b/source/blender/blenlib/BLI_heap.h
index a6663726f8b22dfd08c63aefb8734ce806aa22b2..3038d026df9121ee229071f5854abe3c535ff105 100644
--- a/source/blender/blenlib/BLI_heap.h
+++ b/source/blender/blenlib/BLI_heap.h
@@ -1,6 +1,4 @@
-/**
- * A heap / priority queue ADT
- * 
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -32,6 +30,11 @@
 #ifndef BLI_HEAP_H
 #define BLI_HEAP_H
 
+/** \file BLI_heap.h
+ *  \ingroup bli
+ *  \brief A heap / priority queue ADT
+ */
+
 struct Heap;
 struct HeapNode;
 typedef struct Heap Heap;
diff --git a/source/blender/blenlib/BLI_jitter.h b/source/blender/blenlib/BLI_jitter.h
index aea0fe2bd772612bf0c141cf7ae6fb5d76dcf94b..e0fea9306fff7ff7460318078a77a8ac6afdccef 100644
--- a/source/blender/blenlib/BLI_jitter.h
+++ b/source/blender/blenlib/BLI_jitter.h
@@ -1,6 +1,4 @@
 /*
- * jitter.h
- *
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -32,6 +30,10 @@
 #ifndef BLI_JITTER_H
 #define BLI_JITTER_H 
 
+/** \file BLI_jitter.h
+ *  \ingroup bli
+ */
+
 void	BLI_initjit(float *jitarr, int num);
 void    BLI_jitterate1(float *jit1, float *jit2, int num, float rad1);
 void    BLI_jitterate2(float *jit1, float *jit2, int num, float rad2);
diff --git a/source/blender/blenlib/BLI_kdopbvh.h b/source/blender/blenlib/BLI_kdopbvh.h
index aa55ececc0627702e174a96f88534027a2fc746c..d0943408dc5e6aa62545b593216f0cdcc0df3ab7 100644
--- a/source/blender/blenlib/BLI_kdopbvh.h
+++ b/source/blender/blenlib/BLI_kdopbvh.h
@@ -1,5 +1,4 @@
-/**
- *
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -32,6 +31,12 @@
 #ifndef BLI_KDOPBVH_H
 #define BLI_KDOPBVH_H
 
+/** \file BLI_kdopbvh.h
+ *  \ingroup bli
+ *  \author Daniel Genrich
+ *  \author Andre Pinto
+ */
+
 #ifdef __cplusplus
 extern "C" { 
 #endif
diff --git a/source/blender/blenlib/BLI_kdtree.h b/source/blender/blenlib/BLI_kdtree.h
index 95f9e6939d006ca82a657f387fadac637d790f5e..c607dae386f9578432fedc44cb8aa02af6147e89 100644
--- a/source/blender/blenlib/BLI_kdtree.h
+++ b/source/blender/blenlib/BLI_kdtree.h
@@ -1,6 +1,4 @@
-/**
- * A kd-tree for nearest neighbour search.
- * 
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -33,6 +31,13 @@
 #ifndef BLI_KDTREE_H
 #define BLI_KDTREE_H
 
+/** \file BLI_kdtree.h
+ *  \ingroup bli
+ *  \brief A kd-tree for nearest neighbour search.
+ *  \author Janne Karhu
+ *  \author Brecht van Lommel
+ */
+
 struct KDTree;
 typedef struct KDTree KDTree;
 
diff --git a/source/blender/blenlib/BLI_linklist.h b/source/blender/blenlib/BLI_linklist.h
index b10d48e3ee6b5ca8fbe3302a70ebe3b059c8edff..95850c44ea1e2ee4041ec313e26a12cd89a0213e 100644
--- a/source/blender/blenlib/BLI_linklist.h
+++ b/source/blender/blenlib/BLI_linklist.h
@@ -1,7 +1,4 @@
 /*
- * Routines for working with singly linked lists
- * of 'links' - pointers to other data.
- * 
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -33,6 +30,13 @@
 #ifndef BLI_LINKLIST_H
 #define BLI_LINKLIST_H
 
+/** \file BLI_linklist.h
+ *  \ingroup bli
+ *  \brief Routines for working with singly linked lists
+ *   of 'links' - pointers to other data.
+ * 
+ */
+
 struct MemArena;
 
 typedef void (*LinkNodeFreeFP)(void *link);
diff --git a/source/blender/blenlib/BLI_listbase.h b/source/blender/blenlib/BLI_listbase.h
index a41b49de2424c0fad46ce20313740097f838bdb6..73af9a3738c2bc0dde15db31650eb814975c0a02 100644
--- a/source/blender/blenlib/BLI_listbase.h
+++ b/source/blender/blenlib/BLI_listbase.h
@@ -25,13 +25,15 @@
  * Contributor(s): none yet.
  *
  * ***** END GPL LICENSE BLOCK *****
- * 
- * $Id$ 
 */
 
 #ifndef BLI_LISTBASE_H
 #define BLI_LISTBASE_H
 
+/** \file BLI_listbase.h
+ *  \ingroup bli
+ */
+
 #include "DNA_listBase.h"
 //struct ListBase;
 //struct LinkData;
diff --git a/source/blender/blenlib/BLI_math.h b/source/blender/blenlib/BLI_math.h
index 29a17f362d4045abb3be1642ef89c9b54940a48f..890a5ee4018915b4d0622a2d256e7ad9471b2905 100644
--- a/source/blender/blenlib/BLI_math.h
+++ b/source/blender/blenlib/BLI_math.h
@@ -1,4 +1,4 @@
-/**
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -28,29 +28,30 @@
 #ifndef BLI_MATH_H
 #define BLI_MATH_H
 
-/* Abbreviations:
+/** \file BLI_math.h
+ *  \ingroup bli
+ *  \section mathabbrev Abbreviations
  *
- * fl = float
- * db = double
- * v2 = vec2 = vector 2
- * v3 = vec3 = vector 3
- * v4 = vec4 = vector 4
- * qt = quat = quaternion
- * dq = dquat = dual quaternion
- * m2 = mat2 = matrix 2x2
- * m3 = mat3 = matrix 3x3
- * m4 = mat4 = matrix 4x4
- * eul = euler rotation
- * eulO = euler with order
+ *  - fl = float
+ *  - db = double
+ *  - v2 = vec2 = vector 2
+ *  - v3 = vec3 = vector 3
+ *  - v4 = vec4 = vector 4
+ *  - qt = quat = quaternion
+ *  - dq = dquat = dual quaternion
+ *  - m2 = mat2 = matrix 2x2
+ *  - m3 = mat3 = matrix 3x3
+ *  - m4 = mat4 = matrix 4x4
+ *  - eul = euler rotation
+ *  - eulO = euler with order
  *
- * Variable Names:
- *
- * f = single value
- * a, b, c = vectors
- * r = result vector
- * A, B, C = matrices
- * R = result matrix
+ *  \section mathvarnames Variable Names
  *
+ *  - f = single value
+ *  - a, b, c = vectors
+ *  - r = result vector
+ *  - A, B, C = matrices
+ *  - R = result matrix
  */
 
 #include "BLI_math_base.h"
diff --git a/source/blender/blenlib/BLI_math_base.h b/source/blender/blenlib/BLI_math_base.h
index 9ab9621be011f081fcef89521209da10359d022c..f2e143138f6544cd6595f73de98b709933bdf859 100644
--- a/source/blender/blenlib/BLI_math_base.h
+++ b/source/blender/blenlib/BLI_math_base.h
@@ -1,4 +1,4 @@
-/**
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -28,6 +28,10 @@
 #ifndef BLI_MATH_BASE_H
 #define BLI_MATH_BASE_H
 
+/** \file BLI_math_base.h
+ *  \ingroup bli
+ */
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/source/blender/blenlib/BLI_math_color.h b/source/blender/blenlib/BLI_math_color.h
index bf466c0f8096af13746f87a857a368ab1c42a6df..fe09706cb3d727c5db63ed9229fc39fb4da54b4b 100644
--- a/source/blender/blenlib/BLI_math_color.h
+++ b/source/blender/blenlib/BLI_math_color.h
@@ -1,4 +1,4 @@
-/**
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -28,6 +28,10 @@
 #ifndef BLI_MATH_COLOR_H
 #define BLI_MATH_COLOR_H
 
+/** \file BLI_math_color.h
+ *  \ingroup bli
+ */
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/source/blender/blenlib/BLI_math_geom.h b/source/blender/blenlib/BLI_math_geom.h
index 8f939e5dc61751d82c51d6a514e3948806f567b5..8d2f9ffa38badb1bf6f421b91767aab9470ec713 100644
--- a/source/blender/blenlib/BLI_math_geom.h
+++ b/source/blender/blenlib/BLI_math_geom.h
@@ -1,4 +1,4 @@
-/**
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -28,6 +28,10 @@
 #ifndef BLI_MATH_GEOM_H
 #define BLI_MATH_GEOM_H
 
+/** \file BLI_math_geom.h
+ *  \ingroup bli
+ */
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/source/blender/blenlib/BLI_math_inline.h b/source/blender/blenlib/BLI_math_inline.h
index d07777c90a8caee9b3f7e5024bceb22b231e9f2f..0f8493e25a6b4af97ae74861b4c850c5734511e6 100644
--- a/source/blender/blenlib/BLI_math_inline.h
+++ b/source/blender/blenlib/BLI_math_inline.h
@@ -1,4 +1,4 @@
-/**
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -28,6 +28,10 @@
 #ifndef BLI_MATH_INLINE_H
 #define BLI_MATH_INLINE_H
 
+/** \file BLI_math_inline.h
+ *  \ingroup bli
+ */
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/source/blender/blenlib/BLI_math_matrix.h b/source/blender/blenlib/BLI_math_matrix.h
index 475bbe8b4b7f75a9bea776dfdc6775d09d2ae5a3..939c4348461c58f30ae5f96b6c0c8d6111e074cb 100644
--- a/source/blender/blenlib/BLI_math_matrix.h
+++ b/source/blender/blenlib/BLI_math_matrix.h
@@ -1,4 +1,4 @@
-/**
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -28,6 +28,10 @@
 #ifndef BLI_MATH_MATRIX_H
 #define BLI_MATH_MATRIX_H
 
+/** \file BLI_math_matrix.h
+ *  \ingroup bli
+ */
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/source/blender/blenlib/BLI_math_rotation.h b/source/blender/blenlib/BLI_math_rotation.h
index 7d0b8dfeaf36bde5252952a1f9cc8d3c7246fa40..d1f5fa89c3d7bce8c914a2d5bfa8c8e6c603dff3 100644
--- a/source/blender/blenlib/BLI_math_rotation.h
+++ b/source/blender/blenlib/BLI_math_rotation.h
@@ -1,4 +1,4 @@
-/**
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -28,6 +28,10 @@
 #ifndef BLI_MATH_ROTATION_H
 #define BLI_MATH_ROTATION_H
 
+/** \file BLI_math_rotation.h
+ *  \ingroup bli
+ */
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/source/blender/blenlib/BLI_math_vector.h b/source/blender/blenlib/BLI_math_vector.h
index dcb9311baa0210197d476950ac2c0420b0410e04..5f26bff0ad994db2e6d16c953ddce3618f155a77 100644
--- a/source/blender/blenlib/BLI_math_vector.h
+++ b/source/blender/blenlib/BLI_math_vector.h
@@ -1,4 +1,4 @@
-/**
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -28,6 +28,10 @@
 #ifndef BLI_MATH_VECTOR_H
 #define BLI_MATH_VECTOR_H
 
+/** \file BLI_math_vector.h
+ *  \ingroup bli
+ */
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/source/blender/blenlib/BLI_memarena.h b/source/blender/blenlib/BLI_memarena.h
index a17c88b70df889eb8353ef2217217fb97bbbc282..f6e919d8d65cbe07e4d78daa68d4b0a6d4027559 100644
--- a/source/blender/blenlib/BLI_memarena.h
+++ b/source/blender/blenlib/BLI_memarena.h
@@ -1,6 +1,4 @@
 /* 
- * Memory arena ADT
- * 
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -27,11 +25,15 @@
  * Contributor(s): none yet.
  *
  * ***** END GPL LICENSE BLOCK *****
- * 
+ */ 
+
+/** \file BLI_memarena.h
+ *  \ingroup bli
+ *  \brief Memory arena ADT.
+ *  \section aboutmemarena Memory Arena
  * Memory arena's are commonly used when the program
  * needs to quickly allocate lots of little bits of
  * data, which are all freed at the same moment.
- * 
  */
 
 #ifndef BLI_MEMARENA_H
diff --git a/source/blender/blenlib/BLI_mempool.h b/source/blender/blenlib/BLI_mempool.h
index c1991769eb18267326b17822ff80c01a204f9dd8..4ea48929efb7225d5b6a24eeaf6ac9eca01461d3 100644
--- a/source/blender/blenlib/BLI_mempool.h
+++ b/source/blender/blenlib/BLI_mempool.h
@@ -1,7 +1,5 @@
-/**
- * Simple fast memory allocator
- * 
- *
+/*
+ * $Id$
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
@@ -31,6 +29,12 @@
 #ifndef BLI_MEMPOOL_H
 #define BLI_MEMPOOL_H
 
+/** \file BLI_storage.h
+ *  \ingroup bli
+ *  \author Geoffrey Bantle
+ *  \brief Simple fast memory allocator.
+ */
+
 struct BLI_mempool;
 
 struct BLI_mempool *BLI_mempool_create(int esize, int tote, int pchunk, int use_sysmalloc);
diff --git a/source/blender/blenlib/BLI_noise.h b/source/blender/blenlib/BLI_noise.h
index ce757c03bf336d6c408f210a61fead2317852d6d..bd88529b3dc81bf7129e9ea37f96a7132c7474d8 100644
--- a/source/blender/blenlib/BLI_noise.h
+++ b/source/blender/blenlib/BLI_noise.h
@@ -31,6 +31,10 @@
 #ifndef BLI_NOISE_H
 #define BLI_NOISE_H
 
+/** \file BLI_noise.h
+ *  \ingroup bli
+ */
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/source/blender/blenlib/BLI_path_util.h b/source/blender/blenlib/BLI_path_util.h
index fd710c59e2fa2d2db62874dc89a8a55fde16da78..b3d657b732312712905a9808bfb852deafa16249 100644
--- a/source/blender/blenlib/BLI_path_util.h
+++ b/source/blender/blenlib/BLI_path_util.h
@@ -1,8 +1,4 @@
-/**
- * blenlib/BLI_storage_types.h
- *
- * Some types for dealing with directories
- *
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -33,6 +29,10 @@
 #ifndef BLI_PATH_UTIL_H
 #define BLI_PATH_UTIL_H
 
+/** \file BLI_path_util.h
+ *  \ingroup bli
+ */
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/source/blender/blenlib/BLI_pbvh.h b/source/blender/blenlib/BLI_pbvh.h
index f89068c885e8bbebc7aa6bc8254974762c2c32e6..4191559771d6be4a20f1f84d3811a175886de328 100644
--- a/source/blender/blenlib/BLI_pbvh.h
+++ b/source/blender/blenlib/BLI_pbvh.h
@@ -1,6 +1,4 @@
-/**
- * A BVH for high poly meshes.
- * 
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -25,6 +23,11 @@
 #ifndef BLI_PBVH_H
 #define BLI_PBVH_H
 
+/** \file BLI_pbvh.h
+ *  \ingroup bli
+ *  \brief A BVH for high poly meshes.
+ */
+
 struct MFace;
 struct MVert;
 struct DMGridAdjacency;
diff --git a/source/blender/blenlib/BLI_rand.h b/source/blender/blenlib/BLI_rand.h
index eab9f92d7e8b14946aaef98dc8af3680913e0104..eb6e71acded1cc4dff5f208573a805250d79db28 100644
--- a/source/blender/blenlib/BLI_rand.h
+++ b/source/blender/blenlib/BLI_rand.h
@@ -1,7 +1,4 @@
-/**
- * @file BLI_rand.h
- * 
- * Random number functions.
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -33,10 +30,15 @@
 #ifndef BLI_RAND_H
 #define BLI_RAND_H
 
-	/* RNG is just an abstract random number generator
-	 * type that avoids using globals, otherwise identical
-	 * to BLI_rand functions below.
-	 */
+/** \file BLI_rand.h
+ *  \ingroup bli
+ *  \brief Random number functions.
+ */
+
+/** RNG is just an abstract random number generator
+ * type that avoids using globals, otherwise identical
+ * to BLI_rand functions below.
+ */
 struct RNG;
 typedef struct RNG RNG;
 
diff --git a/source/blender/blenlib/BLI_rect.h b/source/blender/blenlib/BLI_rect.h
index 13b12fc4e1e3d2a8f653fb1257fd86deb1fb8efa..021ab636d5b1cf9b5f4e949e8ac14adb4bc12061 100644
--- a/source/blender/blenlib/BLI_rect.h
+++ b/source/blender/blenlib/BLI_rect.h
@@ -31,6 +31,10 @@
 #ifndef BLI_RECT_H
 #define BLI_RECT_H
 
+/** \file BLI_rect.h
+ *  \ingroup bli
+ */
+
 struct rctf;
 struct rcti;
 
diff --git a/source/blender/blenlib/BLI_scanfill.h b/source/blender/blenlib/BLI_scanfill.h
index 707f23fb4e8a9a1248f135a4fd8db2df71307270..e2f102c20eb6d52ac51bb511d512d0362a564cb8 100644
--- a/source/blender/blenlib/BLI_scanfill.h
+++ b/source/blender/blenlib/BLI_scanfill.h
@@ -1,8 +1,4 @@
-/**
- * blenlib/BLI_scanfill.h    mar 2001 Nzc
- *
- * Filling meshes.
- *
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -34,6 +30,13 @@
 #ifndef BLI_SCANFILL_H
 #define BLI_SCANFILL_H
 
+/** \file BLI_storage.h
+ *  \ingroup bli
+ *  \since March 2001
+ *  \author nzc
+ *  \brief Filling meshes.
+ */
+
 /**
  * @attention Defined in scanfill.c
  */
diff --git a/source/blender/blenlib/BLI_storage.h b/source/blender/blenlib/BLI_storage.h
index 702112f5fecb5715d79952428b78a3b3377d70ab..017f9877bafb6d05c25516dc6fdf6ea9aa42f598 100644
--- a/source/blender/blenlib/BLI_storage.h
+++ b/source/blender/blenlib/BLI_storage.h
@@ -29,6 +29,10 @@
 #ifndef BLI_STORAGE_H
 #define BLI_STORAGE_H
 
+/** \file BLI_storage.h
+ *  \ingroup bli
+ */
+
 #ifdef WIN32
 /* for size_t, only needed on win32 for some reason */
 #include <stddef.h>
diff --git a/source/blender/blenlib/BLI_storage_types.h b/source/blender/blenlib/BLI_storage_types.h
index c041b33c6a442539f993450d4d6a767bc4b061e8..0b8746b4c507f0266fe577cd5ccc36fd6420cc53 100644
--- a/source/blender/blenlib/BLI_storage_types.h
+++ b/source/blender/blenlib/BLI_storage_types.h
@@ -1,8 +1,4 @@
-/**
- * blenlib/BLI_storage_types.h
- *
- * Some types for dealing with directories
- *
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -33,6 +29,11 @@
 #ifndef BLI_STORAGE_TYPES_H
 #define BLI_STORAGE_TYPES_H
 
+/** \file BLI_storage_types.h
+ *  \ingroup bli
+ *  \brief Some types for dealing with directories.
+ */
+
 #include <sys/stat.h>
 
 #if defined(WIN32) && !defined(FREE_WINDOWS)
diff --git a/source/blender/blenlib/BLI_string.h b/source/blender/blenlib/BLI_string.h
index 1427a6c651a151c6a2a77f0e032ee8b38a427817..36835e0c9ca29a211f2e3fdfc08ddd46e0703cbf 100644
--- a/source/blender/blenlib/BLI_string.h
+++ b/source/blender/blenlib/BLI_string.h
@@ -32,6 +32,10 @@
 #ifndef BLI_STRING_H
 #define BLI_STRING_H
 
+/** \file BLI_string.h
+ *  \ingroup bli
+ */
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/source/blender/blenlib/BLI_threads.h b/source/blender/blenlib/BLI_threads.h
index ad968deb0c5cc7d336970fa3808af82508f4d1e6..5bf5423d312c548fc0368b8672f793786282ab94 100644
--- a/source/blender/blenlib/BLI_threads.h
+++ b/source/blender/blenlib/BLI_threads.h
@@ -31,6 +31,10 @@
 #ifndef BLI_THREADS_H
 #define BLI_THREADS_H 
 
+/** \file BLI_threads.h
+ *  \ingroup bli
+ */
+
 #include <pthread.h>
 
 /* for tables, button in UI, etc */
diff --git a/source/blender/blenlib/BLI_utildefines.h b/source/blender/blenlib/BLI_utildefines.h
index 140b424bf8f7951ab5e0b71601b50c3ddce7fcb5..b2129a6ab76369a80804134e914b1f73dc12f192 100644
--- a/source/blender/blenlib/BLI_utildefines.h
+++ b/source/blender/blenlib/BLI_utildefines.h
@@ -30,6 +30,10 @@
 #ifndef BLI_UTILDEFINES_H
 #define BLI_UTILDEFINES_H
 
+/** \file BLI_utildefines.h
+ *  \ingroup bli
+ */
+
 #ifndef FALSE
 #define FALSE 0
 #endif
diff --git a/source/blender/blenlib/BLI_uvproject.h b/source/blender/blenlib/BLI_uvproject.h
index cf8bb7cd4b86473c26bc026b6432020d6e3111f1..54e2090aa50ccbec5b8fe84e5a03c7244e40fc2d 100644
--- a/source/blender/blenlib/BLI_uvproject.h
+++ b/source/blender/blenlib/BLI_uvproject.h
@@ -1,4 +1,4 @@
-/**
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -22,6 +22,10 @@
 #ifndef BKE_UVPROJECT_H
 #define BKE_UVPROJECT_H
 
+/** \file BLI_uvproject.h
+ *  \ingroup bli
+ */
+
 struct UvCameraInfo;
 struct Object;
 
diff --git a/source/blender/blenlib/BLI_vfontdata.h b/source/blender/blenlib/BLI_vfontdata.h
index 77abb15b9531b2b7be41bd72b1fb87a941ce7962..7a03c1c37fa14d1f33452abc35dc4e6a8a127e43 100644
--- a/source/blender/blenlib/BLI_vfontdata.h
+++ b/source/blender/blenlib/BLI_vfontdata.h
@@ -1,9 +1,4 @@
-/**
- * @file BLI_vfontdata.h
- * 
- * A structure to represent vector fonts, 
- * and to load them from PostScript fonts.
- * 
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -35,6 +30,12 @@
 #ifndef BLI_VFONTDATA_H
 #define BLI_VFONTDATA_H
 
+/** \file BLI_vfontdata.h
+ *  \ingroup bli
+ *  \brief A structure to represent vector fonts, 
+ *   and to load them from PostScript fonts.
+ */
+
 #include "DNA_listBase.h"
 
 struct PackedFile;
diff --git a/source/blender/blenlib/BLI_voxel.h b/source/blender/blenlib/BLI_voxel.h
index 63a6c09b0b4cdce0884649c636ea50168c0c3e97..41f8bfab7295869543440e6261fb35aa265f5a90 100644
--- a/source/blender/blenlib/BLI_voxel.h
+++ b/source/blender/blenlib/BLI_voxel.h
@@ -1,5 +1,4 @@
-/**
- *
+/*
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
@@ -29,7 +28,11 @@
 #ifndef BLI_VOXEL_H
 #define BLI_VOXEL_H
 
-/* find the index number of a voxel, given x/y/z integer coords and resolution vector */
+/** \file BLI_voxel.h
+ *  \ingroup bli
+ */
+
+/** find the index number of a voxel, given x/y/z integer coords and resolution vector */
 #define V_I(x, y, z, res) ( (z)*(res)[1]*(res)[0] + (y)*(res)[0] + (x) )
 
 /* all input coordinates must be in bounding box 0.0 - 1.0 */
diff --git a/source/blender/blenlib/BLI_winstuff.h b/source/blender/blenlib/BLI_winstuff.h
index 2b0f548f5ddecfa841c515230060cc06487a55aa..0248a6a6b4da540a9b10b30d66e6a6d7d3073061 100644
--- a/source/blender/blenlib/BLI_winstuff.h
+++ b/source/blender/blenlib/BLI_winstuff.h
@@ -1,6 +1,4 @@
-/**
- * Compatibility-like things for windows.
- *
+/*
  * $Id$ 
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -32,6 +30,11 @@
 #ifndef __WINSTUFF_H__
 #define __WINSTUFF_H__
 
+/** \file BLI_winstuff.h
+ *  \ingroup bli
+ *  \brief Compatibility-like things for windows.
+ */
+
 #ifdef _WIN32
 
 #ifndef FREE_WINDOWS