Update to latest version of DMBS.
[pub/USBasp.git] / LUFA / DoxygenPages / BuildSystem.txt
index 7aa357d..d5e051b 100644 (file)
@@ -6,14 +6,27 @@
 \r
 /** \page Page_BuildSystem The LUFA Build System\r
  *\r
- *  \section Sec_BuildSystemOverview Overview of the LUFA Build System\r
- *  The LUFA build system is an attempt at making a set of re-usable, modular build make files which\r
- *  can be referenced in a LUFA powered project, to minimize the amount of code required in an\r
- *  application makefile. The system is written in GNU Make, and each module is independent of\r
- *  one-another.\r
+ *  \section Sec_BuildSystem_Overview Overview of the LUFA Build System\r
+ *  The LUFA build system was originally an attempt at making a set of\r
+ *  re-usable, modular build make files which could be referenced in a LUFA\r
+ *  powered project, to minimize the amount of code required in an\r
+ *  application makefile.\r
+ *\r
+ *  As it turned out to be fairly generic in nature, it was split out into its\r
+ *  own separate project, called DMBS (<i>Dean's Makefile Build System</i>)\r
+ *  which is released into the public domain. LUFA specific portions of the\r
+ *  LUFA build system extend DMBS, and provide a universal build system for all\r
+ *  LUFA projects.\r
+ *\r
+ *  The latest DMBS project information can be found at:\r
+ *  https://github.com/abcminiuser/dmbs\r
+ *\r
+ *  DMBS is written in GNU Make, and each module is independent of one-another.\r
+ *\r
+ *  \section SSec_BuildSystem_Using Using the LUFA Build System\r
  *\r
  *  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
+ *  build system, see \ref Sec_CompilingApps_Prerequisites.\r
  *\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
  *  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_AppMakefileParams for a copy of the sample LUFA project makefile.\r
+ *  \see \ref Sec_ConfiguringApps_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
  *  may be defined and which will assume a sensible default if not.\r
  *\r
- *  \section SSec_BuildSystemModules Available Modules\r
+ *  \section SSec_BuildSystem_Modules Available Modules\r
  *\r
  *  The following modules are included in this LUFA release:\r
  *\r
  *    <td>Common flags to pass to the C/C++ compiler and assembler, after the automatically generated flags.</td>\r
  *   </tr>\r
  *   <tr>\r
+ *    <td><tt>COMPILER_PATH</tt></td>\r
+ *    <td>Directory where the C/C++ toolchain is located, if not available in the system <tt>PATH</tt>.</td>\r
+ *   </tr>\r
+ *   <tr>\r
  *    <td><tt>LD_FLAGS</tt></td>\r
  *    <td>Flags to pass to the linker, after the automatically generated flags.</td>\r
  *   </tr>\r
  *  \section SSec_BuildModule_ATPROGRAM_Requirements Requirements\r
  *  This module requires the <tt>atprogram.exe</tt> utility to be available in your system's <b>PATH</b>\r
  *  variable. The <tt>atprogram.exe</tt> utility is distributed in Atmel AVR Studio 5.x and Atmel Studio 6.x\r
- *  inside the application install folder's "\avrdbg" subdirectory.\r
+ *  inside the application install folder's "\atbackend" subdirectory.\r
  *\r
  *  \section SSec_BuildModule_ATPROGRAM_Targets Targets\r
  *\r
  *    <td><tt>AVRDUDE_FLAGS</tt></td>\r
  *    <td>Additional flags to pass to avrdude when programming, applied after the automatically generated flags.</td>\r
  *   </tr>\r
+ *   <tr>\r
+ *    <td><tt>AVRDUDE_MEMORY</tt></td>\r
+ *    <td>Main memory space used when programming in an application *e.g. <tt>application</tt> for a DFU bootloader, or <tt>flash</tt> for a regular programmer).</td>\r
+ *   </tr>\r
  *  </table>\r
  *\r
  *  \section SSec_BuildModule_AVRDUDE_ProvidedVariables Module Provided Variables\r
  *\r
  *  The SOURCES LUFA build system module, providing variables listing the various LUFA source files\r
  *  required to be build by a project for a given LUFA module. This module gives a way to reference\r
- *  LUFA source files symbollically, so that changes to the library structure do not break the library\r
+ *  LUFA source files symbolically, so that changes to the library structure do not break the library\r
  *  makefile.\r
  *\r
  *  To use this module in your application makefile, add the following code:\r
  *   <tr>\r
  *    <td>Error &quot;<b><tt>Makefile <i>{X}</i> option must be Y or N</tt></b>&quot; shown when compiling.</td>\r
  *    <td>The specified Makefile value was configured in your project's makefile or on the command line, but was set to a value other than a Y (for "Yes") or "N" (for "No").\r
- *        This configuration option is required to be one of the aformentioned boolean values, and other values are invalid. Set this option to either Y or N and try again.</td>\r
+ *        This configuration option is required to be one of the aforementioned boolean values, and other values are invalid. Set this option to either Y or N and try again.</td>\r
  *   </tr>\r
  *   <tr>\r
  *    <td>Error &quot;<b><tt>Unknown input source file formats: <i>{X}</i></tt></b>&quot; shown when compiling.</td>\r
  *        upgrade to the latest AVR-GCC. If the option is a valid linker option, use the prefix "-Wl," to ensure it is passed to the linker correctly.</td>\r
  *   </tr>\r
  *   <tr>\r
- *    <td>Error &quot;<b><tt>avr-gcc: error: unrecognized option '<i>{X}</i>'</tt></b>&quot; shown when compiling.</td>\r
- *    <td>An unrecognised option was supplied to the compiler, usually in the <tt>C_FLAGS</tt>, <tt>CPP_FLAGS</tt>, <tt>ASM_FLAGS</tt> or <tt>CC_FLAGS</tt> configuration\r
- *        options. The nominated compiler switch may be invalid, or unsupported by the version of AVR-GCC on the host system. Remove the unrecognised flag if invalid, or\r
- *        upgrade to the latest AVR-GCC. If the option is a valid linker option, use the prefix "-Wl," to ensure it is passed to the linker correctly.</td>\r
- *   </tr>\r
- *   <tr>\r
- *    <td>Error &quot;<b><tt>makefile:{X}: {Y}.mk: No such file or directory</tt></b>&quot; shown when make is invoked.</td>\r
- *    <td>The path to the nominated makefile module was incorrect. This usually indicates that the makefile <tt>LUFA_PATH</tt> option is not set to a valid relative or\r
- *        absolute path to the LUFA library core.</td>\r
- *   </tr>\r
- *   <tr>\r
  *    <td>Error &quot;<b><tt>makefile:{X}: {Y}.mk: No such file or directory</tt></b>&quot; shown when make is invoked.</td>\r
  *    <td>The path to the nominated makefile module was incorrect. This usually indicates that the makefile <tt>LUFA_PATH</tt> option is not set to a valid relative or\r
  *        absolute path to the LUFA library core.</td>\r
  *   </tr>\r
  *   <tr>\r
  *    <td>Error &quot;<b><tt>unknown MCU '<i>{X}</i>' specified</tt></b>&quot; shown when compiling.</td>\r
- *    <td>The specified micocontroller device model name set in the user application's makefile as the <tt>MCU</tt> parameter is incorrect, or unsupported by the\r
+ *    <td>The specified microcontroller device model name set in the user application's makefile as the <tt>MCU</tt> parameter is incorrect, or unsupported by the\r
  *        version of the compiler being used. Make sure the model name is correct, or upgrade to the latest Atmel Toolchain to obtain newer device support.</td>\r
  *   </tr>\r
  *   <tr>\r
- *    <td>Error &quot;<b><tt>error: invalid suffix "x" on integer constant</tt></b>&quot; shown when compiling a bootloader.</td>\r
- *    <td>This is usually caused by the <tt>bc.exe</tt> application not being found in the system's <tt>PATH</tt> variable. Make sure you have the <tt>bc.exe</tt> tool\r
- *        installed correctly (see \ref Sec_Prerequisites).</td>\r
- *   </tr>\r
- *   <tr>\r
  *    <td>Error &quot;<b><tt>undefined reference to `<i>{X}</i>'</tt></b>&quot; shown when compiling.</td>\r
  *    <td>This is usually caused by a missing source file in the user application's <tt>SRC</tt> configuration parameter. If the indicated symbol is one from the LUFA\r
  *        library, you may be missing a LUFA source makefile module (see \ref Page_BuildModule_SOURCES).</td>\r