/** @page manual_org Organisation of this Manual

There is no fixed organisation in this manual, as various source files forwards
their content into different parts. So there are more visible menu entries,
than listed here. But these files are the main control files:

 - Documentation
  - Documentation/Doxyfile
  - Documentation/barebox-main.dox
   - Documentation/users_manual.dox
    - Documentation/commands.dox
   - Documentation/developers_manual.dox
    - Documentation/board.dox
    - arch/architecture.dox
     - arch/arm/mach-arm.dox
     - arch/blackfin/mach-bf.dox
     - arch/ppc/mach-ppc.dox
     - Documentation/parameters.dox
   - Documentation/boards.dox
    - various documentation files from the board directory

New commands should forward their content to Documentation/commands.dox, so
their pages should be listed in this file.

New boards should forward their content to Documentation/boards.dox, so
their pages should be listed in this file.
*/
