Clean up unnecessary CPPCheck static analysis suppression comments, force Doxygen...
[pub/lufa.git] / LUFA / DoxygenPages / BuildSystem.txt
index 9906fc6..3ee524b 100644 (file)
  *  For details on the prerequisites needed for Linux and Windows machines to be able to use the LUFA\r
  *  build system, see \ref Sec_Prerequisites.\r
  *\r
- *  To use a LUFA build system module, simply add an include to your project makefile:\r
+ *  To use a LUFA build system module, simply add an include to your project makefile. All user projects\r
+ *  should at a minimum include \ref Page_BuildModule_CORE for base functionality:\r
  *  \code\r
  *  include $(LUFA_PATH)/Build/lufa_core.mk\r
  *  \endcode\r
  *\r
- *  And the associated build module targets will be added to your project's build makefile automatically.\r
- *  To call a build target, run <tt>make {TARGET_NAME}</tt> from the command line, substituting in\r
- *  the appropriate target name.\r
+ *  Once included in your project makefile, the associated build module targets will be added to your\r
+ *  project's build makefile targets automatically. To call a build target, run <tt>make {TARGET_NAME}</tt>\r
+ *  from the command line, substituting in the appropriate target name.\r
  *\r
- *  \see \ref Sec_AppConfigParams for a copy of the sample LUFA project makefile.\r
+ *  \see \ref Sec_AppMakefileParams for a copy of the sample LUFA project makefile.\r
  *\r
  *  Each build module may have one or more mandatory parameters (GNU Make variables) which <i>must</i>\r
  *  be supplied in the project makefile for the module to work, and one or more optional parameters which\r
@@ -49,7 +50,7 @@
  *\r
  *  The BUILD LUFA build system module, providing targets for the compilation,\r
  *  assembling and linking of an application from source code into binary files\r
- *  suitable for programming into a target device.\r
+ *  suitable for programming into a target device, using the GCC compiler.\r
  *\r
  *  To use this module in your application makefile, add the following code:\r
  *  \code\r
@@ -57,7 +58,7 @@
  *  \endcode\r
  *\r
  *  \section SSec_BuildModule_BUILD_Requirements Requirements\r
- *  This module requires the the architecture appropriate binaries of the GCC compiler are  available in your\r
+ *  This module requires the the architecture appropriate binaries of the GCC compiler are available in your\r
  *  system's <b>PATH</b> variable. The GCC compiler and associated toolchain is distributed in Atmel AVR Studio\r
  *  5.x and Atmel Studio 6.x installation directories, as well as in many third party distribution packages.\r
  *\r
  *    <td>Display a size-sorted list of symbols from the compiled application, in decimal bytes.</td>\r
  *   </tr>\r
  *   <tr>\r
- *    <td><tt>check-source</tt></td>\r
- *    <td>Display a list of input SRC source files which cannot be found (if any).</td>\r
- *   </tr>\r
- *   <tr>\r
  *    <td><tt>lib</tt></td>\r
  *    <td>Build and archive all source files into a library A binary file.</td>\r
  *   </tr>\r
  *    <td><tt>mostlyclean</tt></td>\r
  *    <td>Remove all intermediatary files but preserve any binary output files.</td>\r
  *   </tr>\r
+ *   <tr>\r
+ *    <td><tt><i>&lt;filename&gt;</i>.s</tt></td>\r
+ *    <td>Create an assembly listing of a given input C/C++ source file.</td>\r
+ *   </tr>\r
  *  </table>\r
  *\r
  *  \section SSec_BuildModule_BUILD_MandatoryParams Mandatory Parameters\r
  *    <td>Flags to pass to the linker, after the automatically generated flags.</td>\r
  *   </tr>\r
  *   <tr>\r
+ *    <td><tt>LINKER_RELAXATIONS</tt></td>\r
+ *    <td>Enables or disables linker relaxations when linking the application binary. This can reduce the total size\r
+ *        of the application by replacing full \c CALL instructions with smaller \c RCALL instructions where possible.\r
+ *        \note On some unpatched versions of binutils, this can cause link failures in some circumstances. If you\r
+ *              receive a link error <tt>relocation truncated to fit: R_AVR_13_PCREL</tt>, disable this setting.</td>\r
+ *   </tr>\r
+ *   <tr>\r
  *    <td><tt>OBJDIR</tt></td>\r
  *    <td>Directory to place the generated object and dependency files. If set to "." the same folder as the source file will be used.\r
  *        \note When this option is enabled, all source filenames <b>must</b> be unique.</td>\r
  *  \section SSec_BuildModule_AVRDUDE_Requirements Requirements\r
  *  This module requires the <tt>avrdude</tt> utility to be available in your system's <b>PATH</b>\r
  *  variable. The <tt>avrdude</tt> utility is distributed in the old WinAVR project releases for\r
- *  Windows (<a>winavr.sourceforge.net</a>) or can be installed on *nix systems via the project's\r
+ *  Windows (<a>http://winavr.sourceforge.net</a>) or can be installed on *nix systems via the project's\r
  *  source code (<a>https://savannah.nongnu.org/projects/avrdude</a>) or through the package manager.\r
  *\r
  *  \section SSec_BuildModule_AVRDUDE_Targets Targets\r
  *\r
  *  \section SSec_BuildModule_DOXYGEN_Requirements Requirements\r
  *  This module requires the <tt>doxygen</tt> utility from the Doxygen website\r
- *  (<a>http://www.stack.nl/~dimitri/doxygen/</a>) to be available in your system's <b>PATH</b>\r
- *  variable. On *nix systems the <tt>doxygen</tt> utility can be installed via the project's source\r
- *  code or through the package manager.\r
+ *  (<a>http://www.doxygen.org/</a>) to be available in your system's <b>PATH</b> variable. On *nix\r
+ *  systems the <tt>doxygen</tt> utility can be installed via the project's source code or through\r
+ *  the package manager.\r
  *\r
  *  \section SSec_BuildModule_DOXYGEN_Targets Targets\r
  *\r
  *    <td><tt>doxygen</tt></td>\r
  *    <td>Generate project documentation.</td>\r
  *   </tr>\r
+ *   <tr>\r
+ *    <td><tt>doxygen_create</tt></td>\r
+ *    <td>Create a new Doxygen configuration file using the latest template.</td>\r
+ *   </tr>\r
+ *   <tr>\r
+ *    <td><tt>doxygen_upgrade</tt></td>\r
+ *    <td>Upgrade an existing Doxygen configuration file to the latest template</td>\r
+ *   </tr>\r
  *  </table>\r
  *\r
  *  \section SSec_BuildModule_DOXYGEN_MandatoryParams Mandatory Parameters\r