]> git.donarmstrong.com Git - qmk_firmware.git/blob - lib/lufa/LUFA/Build/DMBS/DMBS/core.md
Merge commit '60b30c036397cb5627fa374bb930794b225daa29' as 'lib/lufa'
[qmk_firmware.git] / lib / lufa / LUFA / Build / DMBS / DMBS / core.md
1 DMBS - Dean's Makefile Build System
2 ===================================
3
4
5 Module: CORE
6 ------------
7
8 The CORE module provides the core DMBS infrastructure used by other DMBS
9 modules, and must always be imported. Additionally, this module provides the
10 help system for DMBS.
11
12 ## Importing This Module into a Makefile:
13
14 To use this module in your application makefile, add the following code to your
15 makefile:
16
17     include $(DMBS_PATH)/core.mk
18
19 ## Prerequisites:
20
21 None.
22
23 ## Build Targets:
24
25 The following targets are supported by this module:
26
27 <table>
28  <tbody>
29    <tr>
30     <td>help</td>
31     <td>Show help for the current project, including a list of all available targets, variables and macros from the imported modules.</td>
32    </tr>
33    <tr>
34     <td>list_targets</td>
35     <td>Show a list of all build targets from the imported modules.</td>
36    </tr>
37    <tr>
38     <td>list_modules</td>
39     <td>Show a list of all imported modules.</td>
40    </tr>
41    <tr>
42     <td>list_mandatory</td>
43     <td>Show a list of all mandatory variables from the imported modules.</td>
44    </tr>
45    <tr>
46     <td>list_optional</td>
47     <td>Show a list of all optional variables from the imported modules.</td>
48    </tr>
49    <tr>
50     <td>list_provided</td>
51     <td>Show a list of all variables provided by the imported modules.</td>
52    </tr>
53    <tr>
54     <td>list_macros</td>
55     <td>Show a list of all macros provided by the imported modules.</td>
56    </tr>
57  </tbody>
58 </table>
59
60 ## Mandatory Variables:
61
62 The following variables must be defined (with a `NAME = VALUE` syntax, one
63 variable per line) in the user makefile to be able to use this module:
64
65 <table>
66  <tbody>
67    <tr>
68     <td>N/A</td>
69     <td>This module has no mandatory variables.</td>
70    </tr>
71  </tbody>
72 </table>
73
74 ## Optional Variables:
75
76 The following variables may be defined (with a `NAME = VALUE` syntax, one
77 variable per line) in the user makefile. If not specified, a default value will
78 be assumed.
79
80 <table>
81  <tbody>
82    <tr>
83     <td>N/A</td>
84     <td>This module has no optional variables.</td>
85    </tr>
86  </tbody>
87 </table>
88
89 ## Provided Variables:
90
91 The following variables may be referenced in a user makefile (via `$(NAME)`
92 syntax) if desired, as they are provided by this module.
93
94 <table>
95  <tbody>
96    <tr>
97     <td>DMBS_VERSION</td>
98     <td>Current version of this DMBS release, as a ISO 8601 integer (such as `20160403` for `2016-04-03`).</td>
99    </tr>
100  </tbody>
101 </table>
102
103 ## Provided Macros:
104
105 The following macros may be referenced in a user makefile (via
106 `$(call NAME, ARG1, ARG2, ...)` syntax) if desired, as they are provided by
107 this module.
108
109 <table>
110  <tbody>
111    <tr>
112     <td>DMBS_CHECK_VERSION</td>
113     <td>Macro to check the current DMBS version against the first argument and abort if the required version is newer than the current version.</td>
114    </tr>
115    <tr>
116     <td>ERROR_IF_UNSET</td>
117     <td>Macro to check the given makefile variable name passed as the first argument, and abort if it has not been set by any makefile module.</td>
118    </tr>
119    <tr>
120     <td>ERROR_IF_EMPTY</td>
121     <td>Macro to check the given makefile variable name passed as the first argument, and abort if it has an empty value.</td>
122    </tr>
123    <tr>
124     <td>ERROR_IF_NONBOOL</td>
125     <td>Macro to check the given makefile variable name passed as the first argument, and abort if it has a value other than `Y` or `N`.</td>
126    </tr>
127  </tbody>
128 </table>
129
130 ## Module Changelog:
131
132 The changes to this module since its initial release are listed below, as of the
133 DMBS version where the change was made.
134
135 ### 20160403
136 Initial release.