bake-toolkit 2.19.0 → 2.19.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/documentation/_build/html/_sources/changelog.txt +3 -0
  3. data/documentation/_build/html/_sources/concepts/build_hierarchy.txt +34 -0
  4. data/documentation/_build/html/_sources/index.txt +1 -1
  5. data/documentation/_build/html/_static/basic.css +598 -598
  6. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.css +1109 -1109
  7. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.min.css +9 -9
  8. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap.css +6167 -6167
  9. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap.min.css +9 -9
  10. data/documentation/_build/html/_static/bootstrap-2.3.2/js/bootstrap.js +2287 -2287
  11. data/documentation/_build/html/_static/bootstrap-2.3.2/js/bootstrap.min.js +5 -5
  12. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap-theme.css +476 -476
  13. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap-theme.min.css +4 -4
  14. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap.css +6584 -6584
  15. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap.min.css +4 -4
  16. data/documentation/_build/html/_static/bootstrap-3.3.4/fonts/glyphicons-halflings-regular.svg +287 -287
  17. data/documentation/_build/html/_static/bootstrap-3.3.4/js/bootstrap.js +2317 -2317
  18. data/documentation/_build/html/_static/bootstrap-3.3.4/js/bootstrap.min.js +6 -6
  19. data/documentation/_build/html/_static/bootstrap-3.3.4/js/npm.js +12 -12
  20. data/documentation/_build/html/_static/bootstrap-sphinx.css +186 -186
  21. data/documentation/_build/html/_static/bootstrap-sphinx.js +161 -161
  22. data/documentation/_build/html/_static/bootswatch-2.3.2/amelia/bootstrap.min.css +9 -9
  23. data/documentation/_build/html/_static/bootswatch-2.3.2/cerulean/bootstrap.min.css +9 -9
  24. data/documentation/_build/html/_static/bootswatch-2.3.2/cosmo/bootstrap.min.css +9 -9
  25. data/documentation/_build/html/_static/bootswatch-2.3.2/cyborg/bootstrap.min.css +9 -9
  26. data/documentation/_build/html/_static/bootswatch-2.3.2/flatly/bootstrap.min.css +9 -9
  27. data/documentation/_build/html/_static/bootswatch-2.3.2/journal/bootstrap.min.css +9 -9
  28. data/documentation/_build/html/_static/bootswatch-2.3.2/readable/bootstrap.min.css +9 -9
  29. data/documentation/_build/html/_static/bootswatch-2.3.2/simplex/bootstrap.min.css +9 -9
  30. data/documentation/_build/html/_static/bootswatch-2.3.2/slate/bootstrap.min.css +9 -9
  31. data/documentation/_build/html/_static/bootswatch-2.3.2/spacelab/bootstrap.min.css +9 -9
  32. data/documentation/_build/html/_static/bootswatch-2.3.2/spruce/bootstrap.min.css +9 -9
  33. data/documentation/_build/html/_static/bootswatch-2.3.2/superhero/bootstrap.min.css +9 -9
  34. data/documentation/_build/html/_static/bootswatch-2.3.2/united/bootstrap.min.css +9 -9
  35. data/documentation/_build/html/_static/bootswatch-3.3.4/cerulean/bootstrap.min.css +6 -6
  36. data/documentation/_build/html/_static/bootswatch-3.3.4/cosmo/bootstrap.min.css +6 -6
  37. data/documentation/_build/html/_static/bootswatch-3.3.4/custom/bootstrap.min.css +6 -6
  38. data/documentation/_build/html/_static/bootswatch-3.3.4/cyborg/bootstrap.min.css +6 -6
  39. data/documentation/_build/html/_static/bootswatch-3.3.4/darkly/bootstrap.min.css +6 -6
  40. data/documentation/_build/html/_static/bootswatch-3.3.4/flatly/bootstrap.min.css +6 -6
  41. data/documentation/_build/html/_static/bootswatch-3.3.4/fonts/glyphicons-halflings-regular.svg +287 -287
  42. data/documentation/_build/html/_static/bootswatch-3.3.4/journal/bootstrap.min.css +6 -6
  43. data/documentation/_build/html/_static/bootswatch-3.3.4/lumen/bootstrap.min.css +6 -6
  44. data/documentation/_build/html/_static/bootswatch-3.3.4/paper/bootstrap.min.css +6 -6
  45. data/documentation/_build/html/_static/bootswatch-3.3.4/readable/bootstrap.min.css +6 -6
  46. data/documentation/_build/html/_static/bootswatch-3.3.4/sandstone/bootstrap.min.css +6 -6
  47. data/documentation/_build/html/_static/bootswatch-3.3.4/simplex/bootstrap.min.css +6 -6
  48. data/documentation/_build/html/_static/bootswatch-3.3.4/slate/bootstrap.min.css +6 -6
  49. data/documentation/_build/html/_static/bootswatch-3.3.4/spacelab/bootstrap.min.css +6 -6
  50. data/documentation/_build/html/_static/bootswatch-3.3.4/superhero/bootstrap.min.css +6 -6
  51. data/documentation/_build/html/_static/bootswatch-3.3.4/united/bootstrap.min.css +6 -6
  52. data/documentation/_build/html/_static/bootswatch-3.3.4/yeti/bootstrap.min.css +6 -6
  53. data/documentation/_build/html/_static/doctools.js +263 -263
  54. data/documentation/_build/html/_static/jquery-1.11.1.js +10308 -10308
  55. data/documentation/_build/html/_static/jquery.js +4 -4
  56. data/documentation/_build/html/_static/js/jquery-1.11.0.min.js +4 -4
  57. data/documentation/_build/html/_static/js/jquery-fix.js +1 -1
  58. data/documentation/_build/html/_static/searchtools.js +621 -621
  59. data/documentation/_build/html/_static/underscore-1.3.1.js +999 -999
  60. data/documentation/_build/html/_static/underscore.js +31 -31
  61. data/documentation/_build/html/_static/websupport.js +808 -808
  62. data/documentation/_build/html/changelog.html +949 -944
  63. data/documentation/_build/html/commandline/commandline.html +284 -284
  64. data/documentation/_build/html/concepts/build_hierarchy.html +205 -0
  65. data/documentation/_build/html/concepts/concepts.html +186 -186
  66. data/documentation/_build/html/concepts/link_order.html +245 -245
  67. data/documentation/_build/html/concepts/the_main_project.html +260 -260
  68. data/documentation/_build/html/concepts/the_project_meta_file.html +288 -288
  69. data/documentation/_build/html/genindex.html +152 -152
  70. data/documentation/_build/html/ide/eclipse/eclipse.html +186 -186
  71. data/documentation/_build/html/ide/eclipse/how_to_convert_existing_cdt_workspace.html +208 -208
  72. data/documentation/_build/html/ide/eclipse/how_to_create_a_new_project_in_eclipse.html +191 -191
  73. data/documentation/_build/html/ide/eclipse/how_to_create_a_workspace_in_eclipse.html +198 -198
  74. data/documentation/_build/html/ide/eclipse/how_to_debug_in_eclipse.html +198 -198
  75. data/documentation/_build/html/ide/eclipse/how_to_install_eclipse_plugin.html +196 -196
  76. data/documentation/_build/html/ide/eclipse/how_to_use_bake_in_eclipse.html +256 -256
  77. data/documentation/_build/html/ide/ide_integrations.html +183 -183
  78. data/documentation/_build/html/ide/vs/how_to_create_vs_projects.html +171 -171
  79. data/documentation/_build/html/ide/vs/how_to_debug_in_vs.html +185 -185
  80. data/documentation/_build/html/ide/vs/how_to_used_bake_in_vs.html +190 -190
  81. data/documentation/_build/html/ide/vs/vs.html +170 -170
  82. data/documentation/_build/html/ide/vs/vs_install.html +202 -202
  83. data/documentation/_build/html/index.html +241 -241
  84. data/documentation/_build/html/install/install_bake.html +279 -279
  85. data/documentation/_build/html/internal.html +217 -217
  86. data/documentation/_build/html/known_issues.html +175 -175
  87. data/documentation/_build/html/license.html +236 -236
  88. data/documentation/_build/html/performance/performance.html +373 -373
  89. data/documentation/_build/html/quickstart/quickstart.html +236 -236
  90. data/documentation/_build/html/search.html +174 -174
  91. data/documentation/_build/html/searchindex.js +1 -1
  92. data/documentation/_build/html/syntax/adapt_configs.html +286 -286
  93. data/documentation/_build/html/syntax/derive_configs.html +247 -247
  94. data/documentation/_build/html/syntax/project_meta_syntax.html +893 -893
  95. data/documentation/_build/html/syntax/syntax.html +189 -189
  96. data/documentation/_build/html/syntax/variable_substitutions.html +378 -378
  97. data/documentation/_build/html/tips_and_tricks/bundle.html +180 -180
  98. data/documentation/_build/html/tips_and_tricks/how_to_use_bake_with_cygwin.html +214 -214
  99. data/documentation/_build/html/tips_and_tricks/static_code_analysis.html +284 -284
  100. data/documentation/_build/html/tips_and_tricks/the_bakery.html +405 -405
  101. data/documentation/_build/html/tips_and_tricks/the_clang.html +201 -201
  102. data/documentation/_build/html/tips_and_tricks/tips_and_tricks.html +197 -197
  103. data/documentation/_build/html/why_bake/why_bake.html +241 -241
  104. data/lib/blocks/block.rb +9 -4
  105. data/lib/common/version.rb +1 -1
  106. metadata +4 -2
@@ -1,894 +1,894 @@
1
- <!DOCTYPE html>
2
-
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml">
5
- <head>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
-
8
- <title>The Syntax of the Project.meta file &mdash; bake 2.19.0 documentation</title>
9
-
10
- <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
- <link rel="stylesheet" href="../_static/bootswatch-3.3.4/sandstone/bootstrap.min.css" type="text/css" />
13
- <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
14
-
15
- <script type="text/javascript">
16
- var DOCUMENTATION_OPTIONS = {
17
- URL_ROOT: '../',
18
- VERSION: '2.19.0',
19
- COLLAPSE_INDEX: false,
20
- FILE_SUFFIX: '.html',
21
- HAS_SOURCE: true
22
- };
23
- </script>
24
- <script type="text/javascript" src="../_static/jquery.js"></script>
25
- <script type="text/javascript" src="../_static/underscore.js"></script>
26
- <script type="text/javascript" src="../_static/doctools.js"></script>
27
- <script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js"></script>
28
- <script type="text/javascript" src="../_static/js/jquery-fix.js"></script>
29
- <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
- <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
- <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.19.0 documentation" href="../index.html" />
33
- <link rel="up" title="Syntax" href="syntax.html" />
34
- <link rel="next" title="Variables in Project.meta" href="variable_substitutions.html" />
35
- <link rel="prev" title="Syntax" href="syntax.html" />
36
- <meta charset='utf-8'>
37
- <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
38
- <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
39
- <meta name="apple-mobile-web-app-capable" content="yes">
40
-
41
- </head>
42
- <body role="document">
43
-
44
- <div id="navbar" class="navbar navbar-default navbar-fixed-top">
45
- <div class="container">
46
- <div class="navbar-header">
47
- <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
48
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
49
- <span class="icon-bar"></span>
50
- <span class="icon-bar"></span>
51
- <span class="icon-bar"></span>
52
- </button>
53
- <a class="navbar-brand" href="../index.html"><img src="../_static/logo_conformant_48.png">
54
- </a>
55
- <span class="navbar-text navbar-version pull-left"><b></b></span>
56
- </div>
57
-
58
- <div class="collapse navbar-collapse nav-collapse">
59
- <ul class="nav navbar-nav">
60
-
61
-
62
- <li class="dropdown globaltoc-container">
63
- <a role="button"
64
- id="dLabelGlobalToc"
65
- data-toggle="dropdown"
66
- data-target="#"
67
- href="../index.html">Section <b class="caret"></b></a>
68
- <ul class="dropdown-menu globaltoc"
69
- role="menu"
70
- aria-labelledby="dLabelGlobalToc"><ul class="current">
71
- <li class="toctree-l1"><a class="reference internal" href="../why_bake/why_bake.html">Why you should use bake</a></li>
72
- <li class="toctree-l1"><a class="reference internal" href="../install/install_bake.html">Install bake</a></li>
73
- <li class="toctree-l1"><a class="reference internal" href="../quickstart/quickstart.html">Quickstart</a></li>
74
- <li class="toctree-l1"><a class="reference internal" href="../concepts/concepts.html">Concepts</a></li>
75
- <li class="toctree-l1 current"><a class="reference internal" href="syntax.html">Syntax</a></li>
76
- <li class="toctree-l1"><a class="reference internal" href="../commandline/commandline.html">Commandline</a></li>
77
- <li class="toctree-l1"><a class="reference internal" href="../ide/ide_integrations.html">IDE Support</a></li>
78
- <li class="toctree-l1"><a class="reference internal" href="../tips_and_tricks/tips_and_tricks.html">Tips and Tricks</a></li>
79
- <li class="toctree-l1"><a class="reference internal" href="../performance/performance.html">Performance</a></li>
80
- <li class="toctree-l1"><a class="reference internal" href="../known_issues.html">Known Issues</a></li>
81
- <li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
82
- <li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
83
- </ul>
84
- <ul>
85
- <li class="toctree-l1"><a class="reference internal" href="../internal.html">Internal developing notes</a></li>
86
- </ul>
87
- </ul>
88
- </li>
89
-
90
- <li class="dropdown">
91
- <a role="button"
92
- id="dLabelLocalToc"
93
- data-toggle="dropdown"
94
- data-target="#"
95
- href="#">SubSections <b class="caret"></b></a>
96
- <ul class="dropdown-menu localtoc"
97
- role="menu"
98
- aria-labelledby="dLabelLocalToc"><ul>
99
- <li><a class="reference internal" href="#">The Syntax of the Project.meta file</a><ul>
100
- <li><a class="reference internal" href="#instructions-for-the-interactive-syntax-viewer">Instructions for the Interactive Syntax Viewer</a></li>
101
- </ul>
102
- </li>
103
- </ul>
104
- </ul>
105
- </li>
106
-
107
-
108
-
109
-
110
-
111
- <li>
112
- <a href="syntax.html" title="Previous Chapter: Syntax"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Syntax</span>
113
- </a>
114
- </li>
115
- <li>
116
- <a href="variable_substitutions.html" title="Next Chapter: Variables in Project.meta"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Variables in ... &raquo;</span>
117
- </a>
118
- </li>
119
-
120
-
121
-
122
-
123
-
124
- </ul>
125
-
126
-
127
-
128
- <form class="navbar-form navbar-right" action="../search.html" method="get">
129
- <div class="form-group">
130
- <input type="text" name="q" class="form-control" placeholder="Search" />
131
- </div>
132
- <input type="hidden" name="check_keywords" value="yes" />
133
- <input type="hidden" name="area" value="default" />
134
- </form>
135
-
136
- </div>
137
- </div>
138
- </div>
139
-
140
- <div class="container">
141
- <div class="row">
142
- <div class="col-md-12">
143
-
144
- <div class="section" id="the-syntax-of-the-project-meta-file">
145
- <h1>The Syntax of the Project.meta file<a class="headerlink" href="#the-syntax-of-the-project-meta-file" title="Permalink to this headline">¶</a></h1>
146
- <div class="section" id="instructions-for-the-interactive-syntax-viewer">
147
- <h2>Instructions for the Interactive Syntax Viewer<a class="headerlink" href="#instructions-for-the-interactive-syntax-viewer" title="Permalink to this headline">¶</a></h2>
148
- <ul class="simple">
149
- <li>Move the mouse cursor over the blue elements to display more information.</li>
150
- <li>Three config types exist: ExecutableConfig, LibraryConfig and CustomConfig. Move the mouse cursor over these elements to display the supported content.</li>
151
- </ul>
152
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
153
- "http://www.w3.org/TR/html4/strict.dtd">
154
- <html>
155
- <head></head>
156
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
157
-
158
- <body >
159
-
160
- <style type="text/css">
161
-
162
- #dhtmltooltip{
163
- position: absolute;
164
- width: 150px;
165
- border: 2px solid black;
166
- padding: 2px;
167
- background-color: lightyellow;
168
- visibility: hidden;
169
- z-index: 100;
170
- }
171
-
172
- </style>
173
-
174
- <style type="text/css">
175
- .hide {
176
- display:none;
177
- }
178
- .show {
179
- display:block
180
- }
181
- .showInline {
182
- display:inline
183
- }
184
- .help {
185
- color:blue
186
- }
187
- .showRadio {
188
- font-weight:bold;color:blue;text-decoration:overline underline
189
- }
190
- .hideRadio {
191
- color:#AAAAFF;
192
- }
193
- .mycomment {
194
- color:green
195
- }
196
- </style>
197
-
198
-
199
-
200
-
201
-
202
- <table border="1" style="font-family:monospace"; font-size:10><td>
203
-
204
- <span class="help" onMouseover="showProject()" onMouseout="notip()">Project</span> <span class="help" onMouseover="showDefaultConfig()" onMouseout="notip()">default</span>: &#60;name&#62; {<br>
205
- &nbsp; <br>
206
-
207
- &nbsp; <span class="help" onMouseover="showDescription()" onMouseout="notip()">Description</span> &#60;text&#62;<br><br>
208
-
209
- &nbsp; <span class="help" onMouseover="showVersion()" onMouseout="notip()">RequiredBakeVersion</span> minimum: &#60;major.minor.patch&#62;, maximum: &#60;major.minor.patch&#62;<br><br>
210
-
211
- &nbsp; <span class="help" onMouseover="showResponsible()" onMouseout="notip()">Responsible</span> {<br>
212
- &nbsp; &nbsp; <span class="help" onMouseover="showPerson()" onMouseout="notip()">Person</span> &#60;name&#62;,
213
- <span class="help" onMouseover="showPersonEmail()" onMouseout="notip()">email</span>: &#60;adr&#62;<br>
214
- &nbsp; }<br><br>
215
-
216
- &nbsp; <span class="mycomment"># 0..n configs</span><br>
217
- &nbsp; <span class="showRadio" onMouseover="showExecutableConfig()" onMouseout="notip()" id="executableConfig">ExecutableConfig</span> |
218
- <span class="hideRadio" onMouseover="showLibraryConfig()" onMouseout="notip()" id="libraryConfig">LibraryConfig</span> |
219
- <span class="hideRadio" onMouseover="showCustomConfig()" onMouseout="notip()" id="customConfig">CustomConfig</span> &#60;name&#62;, <span class="help" onMouseover="showExtends()" onMouseout="notip()">extends</span>: &#60;parent(s)&#62; {<br><br>
220
-
221
- <span><span style="background-color:#EEEEEE;" class="show">
222
- &nbsp; &nbsp; <span class="mycomment"># Valid for all config types</span><br><br>
223
- &nbsp; &nbsp; <span class="help" onMouseover="showDescription()" onMouseout="notip()">Description</span> &#60;text&#62;<br>
224
- &nbsp; &nbsp; <span class="help" onMouseover="showIncludeDir()" onMouseout="notip()">IncludeDir</span> &#60;dir&#62;, <span class="help" onMouseover="showInherit()" onMouseout="notip()">inherit</span>: true|false, <span class="help" onMouseover="showInfix()" onMouseout="notip()">inject</span>: front|back<br>
225
- &nbsp; &nbsp; <span class="help" onMouseover="showSet()" onMouseout="notip()">Set</span> &#60;variable&#62;, value: &#60;value&#62; | cmd: &#60;line&#62;, <span class="help" onMouseover="showEnv()" onMouseout="notip()">env</span>: true|false<br>
226
- &nbsp; &nbsp; <span class="help" onMouseover="showDependency()" onMouseout="notip()">Dependency</span> &#60;project&#62;,
227
- <span class="help" onMouseover="showDependencyConfig()" onMouseout="notip()">config</span>: &#60;name&#62;<br>
228
- &nbsp; &nbsp; <span class="help" onMouseover="showExternalLibrary()" onMouseout="notip()">ExternalLibrary</span> &#60;lib&#62;,
229
- <span class="help" onMouseover="showExternalLibrarySearch()" onMouseout="notip()">search</span>: true|false<br>
230
- &nbsp; &nbsp; <span class="help" onMouseover="showUserLibrary()" onMouseout="notip()">UserLibrary</span> &#60;lib&#62;<br>
231
- &nbsp; &nbsp; <span class="help" onMouseover="showExternalLibrarySearchPath()" onMouseout="notip()">ExternalLibrarySearchPath</span> &#60;path&#62;<br>
232
- &nbsp; &nbsp; <span class="help" onMouseover="showPreSteps()" onMouseout="notip()">PreSteps</span> {<br>
233
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showMakefile()" onMouseout="notip()">Makefile</span> &#60;file&#62;,
234
- <span class="help" onMouseover="showMakefileLib()" onMouseout="notip()">lib</span>: &#60;lib&#62;,
235
- <span class="help" onMouseover="showMakefileTarget()" onMouseout="notip()">target</span>: &#60;target&#62;,
236
- <span class="help" onMouseover="showMakefilePathTo()" onMouseout="notip()">pathTo</span>: &#60;paths&#62;,
237
- <span class="help" onMouseover="showStepDefault()" onMouseout="notip()">default</span>: on|off,
238
- <span class="help" onMouseover="showStepFilter()" onMouseout="notip()">filter</span>: &#60;name&#62;,
239
- <span class="help" onMouseover="showValidExitCodes()" onMouseout="notip()">validExitCodes</span>: &#60;[array]&#62; {<br>
240
- &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showMakefileFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;<br>
241
- &nbsp; &nbsp; &nbsp; }<br>
242
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showCommandLine()" onMouseout="notip()">CommandLine</span> &#60;line&#62;,
243
- <span class="help" onMouseover="showStepDefault()" onMouseout="notip()">default</span>: on|off,
244
- <span class="help" onMouseover="showStepFilter()" onMouseout="notip()">filter</span>: &#60;name&#62;,
245
- <span class="help" onMouseover="showValidExitCodes()" onMouseout="notip()">validExitCodes</span>: &#60;[array]&#62;<br>
246
- &nbsp; &nbsp; }<br>
247
- &nbsp; &nbsp; <span class="help" onMouseover="showPostSteps()" onMouseout="notip()">PostSteps</span> {<br>
248
- &nbsp; &nbsp; &nbsp; <span class="mycomment"># Same as for PreSteps</span><br>
249
- &nbsp; &nbsp; }<br>
250
- &nbsp; &nbsp; <span class="help" onMouseover="showStartupSteps()" onMouseout="notip()">StartupSteps</span> {<br>
251
- &nbsp; &nbsp; &nbsp; <span class="mycomment"># Same as for PreSteps</span><br>
252
- &nbsp; &nbsp; }<br>
253
- &nbsp; &nbsp; <span class="help" onMouseover="showExitSteps()" onMouseout="notip()">ExitSteps</span> {<br>
254
- &nbsp; &nbsp; &nbsp; <span class="mycomment"># Same as for PreSteps</span><br>
255
- &nbsp; &nbsp; }<br>
256
- &nbsp; &nbsp; <span class="help" onMouseover="showDefaultToolchain()" onMouseout="notip()">DefaultToolchain</span> &#60;basedOn&#62;, <span class="help" onMouseover="showOutputDir()" onMouseout="notip()">outputDir</span>: &#60;dir&#62;, <span class="help" onMouseover="showEclipseOrder()" onMouseout="notip()">eclipseOrder</span>: true|false {<br>
257
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultCompiler()" onMouseout="notip()">Compiler</span> ASM | CPP | C,
258
- <span class="help" onMouseover="showCommand()" onMouseout="notip()">command</span>: &#60;cmd&#62; {</i><br>
259
- &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;<br>
260
- &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultDefine()" onMouseout="notip()">Define</span> &#60;define&#62;<br>
261
- &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showInternalDefines()" onMouseout="notip()">InternalDefines</span> &#60;file&#62;<br>
262
- &nbsp; &nbsp; &nbsp; }<br>
263
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultArchiver()" onMouseout="notip()">Archiver</span>
264
- <span class="help" onMouseover="showCommand()" onMouseout="notip()">command</span>: &#60;cmd&#62; {</i><br>
265
- &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;<br>
266
- &nbsp; &nbsp; &nbsp; }<br>
267
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultLinker()" onMouseout="notip()">Linker</span>
268
- <span class="help" onMouseover="showCommand()" onMouseout="notip()">command</span>: &#60;cmd&#62; {</i><br>
269
- &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;<br>
270
- &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showLibPrefixFlags()" onMouseout="notip()">LibPrefixFlags</span> &#60;flags&#62;<br>
271
- &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showLibPostfixFlags()" onMouseout="notip()">LibPostfixFlags</span> &#60;flags&#62;<br>
272
- &nbsp; &nbsp; &nbsp; }<br>
273
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showInternalIncludes()" onMouseout="notip()">InternalIncludes</span> &#60;file&#62;<br>
274
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultLintPolicy()" onMouseout="notip()">LintPolicy</span> &#60;policy&#62;<br>
275
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDocu()" onMouseout="notip()">Docu</span> &#60;cmdLine&#62;<br>
276
- &nbsp; &nbsp; }<br>
277
-
278
-
279
- &nbsp; &nbsp; <span class="help" onMouseover="showToolchainProject()" onMouseout="notip()">Toolchain</span> <span class="help" onMouseover="showOutputDir()" onMouseout="notip()">outputDir</span>: &#60;dir&#62; {<br>
280
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showCompiler()" onMouseout="notip()">Compiler</span> ASM | CPP | C,
281
- <span class="help" onMouseover="showCommand()" onMouseout="notip()">command</span>: &#60;cmd&#62; {</i><br>
282
- &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;, add: &#60;flags&#62;, remove: &#60;flags&#62;<br>
283
- &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefine()" onMouseout="notip()">Define</span> &#60;define&#62;<br>
284
- &nbsp; &nbsp; &nbsp; }<br>
285
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showArchiver()" onMouseout="notip()">Archiver</span>
286
- <span class="help" onMouseover="showCommand()" onMouseout="notip()">command</span>: &#60;cmd&#62; {</i><br>
287
- &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;, add: &#60;flags&#62;, remove: &#60;flags&#62;<br>
288
- &nbsp; &nbsp; &nbsp; }<br>
289
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showLinker()" onMouseout="notip()">Linker</span>
290
- <span class="help" onMouseover="showCommand()" onMouseout="notip()">command</span>: &#60;cmd&#62; {</i><br>
291
- &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;, add: &#60;flags&#62;, remove: &#60;flags&#62<br>
292
- &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showLibPrefixFlags()" onMouseout="notip()">LibPrefixFlags</span> &#60;flags&#62;, add: &#60;flags&#62;, remove: &#60;flags&#62<br>
293
- &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showLibPostfixFlags()" onMouseout="notip()">LibPostfixFlags</span> &#60;flags&#62;, add: &#60;flags&#62;, remove: &#60;flags&#62<br>
294
- &nbsp; &nbsp; &nbsp; }<br>
295
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showLintPolicy()" onMouseout="notip()">LintPolicy</span> &#60;policy&#62;<br>
296
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDocu()" onMouseout="notip()">Docu</span> &#60;cmdLine&#62;<br>
297
- &nbsp; &nbsp; }<br></span><br>
298
- </span>
299
-
300
- <span id="libExe_part"><span class="show" style="background-color:#EEEEEE;">
301
- &nbsp; &nbsp; <span class="mycomment"># Valid for ExecutableConfig and LibraryConfig</span><br><br>
302
- &nbsp; &nbsp; <span class="help" onMouseover="showFiles()" onMouseout="notip()">Files</span> &#60;pattern&#62; {<br>
303
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showFilesFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;, add: &#60;flags&#62;, remove: &#60;flags&#62;<br>
304
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showFilesDefine()" onMouseout="notip()">Define</span> &#60;define&#62;<br>
305
- &nbsp; &nbsp; }<br>
306
- &nbsp; &nbsp; <span class="help" onMouseover="showExcludeFiles()" onMouseout="notip()">ExcludeFiles</span> &#60;pattern&#62;<br>
307
- &nbsp; &nbsp; <span class="help" onMouseover="showArtifactName()" onMouseout="notip()">ArtifactName</span> &#60;name&#62;<br>
308
- </span><br></span>
309
-
310
- <span id="exe_part"><span class="show" style="background-color:#EEEEEE;">
311
- &nbsp; &nbsp; <span class="mycomment"># Valid for ExecutableConfig</span><br><br>
312
- &nbsp; &nbsp; <span class="help" onMouseover="showLinkerScript()" onMouseout="notip()">LinkerScript</span> &#60;script&#62;<br>
313
- &nbsp; &nbsp; <span class="help" onMouseover="showMapFile()" onMouseout="notip()">MapFile</span> &#60;name&#62;<br>
314
- </span><br></span>
315
-
316
- <span id="custom_part" class="hide"><span style="background-color:#EEEEEE;" class="show">
317
- &nbsp; &nbsp; <span class="mycomment"># Valid for CustomConfig</span><br><br>
318
- &nbsp; &nbsp; <span class="showRadio" id="makefile" onMouseover="showMakefileCustom()" onMouseout="notip()">Makefile</span> |
319
- <span class="hideRadio" id="commandline" onMouseover="showCommandlineCustom()" onMouseout="notip()">CommandLine</span>
320
- <span style="background-color:#DDDDDD;" id="makefile_part" class="showInline"> &#60;name&#62;,
321
- <span class="help" onMouseover="showMakefileLib()" onMouseout="notip()">lib</span>: &#60;lib&#62;,
322
- <span class="help" onMouseover="showMakefileTarget()" onMouseout="notip()">target</span>: &#60;target&#62;,
323
- <span class="help" onMouseover="showMakefilePathTo()" onMouseout="notip()">pathTo</span>: &#60;paths&#62;,
324
- <span class="help" onMouseover="showStepDefault()" onMouseout="notip()">default</span>: on|off,
325
- <span class="help" onMouseover="showStepFilter()" onMouseout="notip()">filter</span>: &#60;name&#62;,
326
- <span class="help" onMouseover="showValidExitCodes()" onMouseout="notip()">validExitCodes</span>: &#60;[array]&#62; {<br>
327
- &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showMakefileFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;<br>
328
- &nbsp; &nbsp; }<br>
329
- </span>
330
- <span style="background-color:#DDDDDD;" id="commandline_part" class="hide">&#60;line&#62;,
331
- <span class="help" onMouseover="showStepDefault()" onMouseout="notip()">default</span>: on|off,
332
- <span class="help" onMouseover="showStepFilter()" onMouseout="notip()">filter</span>: &#60;name&#62;,
333
- <span class="help" onMouseover="showValidExitCodes()" onMouseout="notip()">validExitCodes</span>: &#60;[array]&#62;
334
- </span>
335
- &nbsp; &nbsp; <br></span><br></span>
336
- &nbsp; }<br>
337
- }<br>
338
-
339
-
340
-
341
-
342
-
343
-
344
-
345
- <div id="dhtmltooltip"></div>
346
-
347
- <script type="text/javascript">
348
-
349
-
350
- function showProject() {
351
- str = 'A bake project is very similiar to a project in Eclipse, Visual Studio, etc.<br>'+
352
- 'The name of the project is the directory name of the Project.meta file.'
353
- ddrivetip("Project", "Yes", "1", "-",str)
354
- }
355
-
356
- function showDefaultConfig() {
357
- str = 'Default configuration which is used if not explicitly specified on command line or Dependency definition.<br><br>'+
358
- 'Examples:<br>'+
359
- '# Project.meta:<br>'+
360
- 'Dependency canDriver # uses default config of canDriver project<br>'+
361
- '# Command line:<br>'+
362
- 'bake -m folder/dir/projABC # builds default config of project projABC'
363
- ddrivetip("defaukt", "No", "-", "-",str)
364
- }
365
-
366
- function showResponsible() {
367
- str = "Specify all responsible persons of the project."
368
- ddrivetip("Responsible", "No,", "0..1", "-",str)
369
- }
370
-
371
- function showDescription() {
372
- str = 'Description of the project or config.'
373
- ddrivetip("Description", "No", "0..1", "-",str)
374
- }
375
-
376
- function showVersion() {
377
- str = 'If specified, the build will be aborted if bake version is lower than mininum or greater than maximum.<br>'+
378
- 'It is possible to define only minimum, only maximim or both version thresholds.<br>'+
379
- 'Minor and patch version numbers are optional.'
380
- ddrivetip("RequiredBakeVersion", "No", "0..1", "-",str)
381
- }
382
-
383
- function showPerson() {
384
- str = 'Person who is responsible for the project.'
385
- ddrivetip("Person", "No", "0..1", "-",str)
386
- }
387
-
388
- function showPersonEmail() {
389
- str = 'Use always double quotes (") for the email address.'
390
- ddrivetip("email", "No", "-", "-",str)
391
- }
392
-
393
- function showExecutableConfig() {
394
- document.getElementById('libExe_part').className="show"
395
- document.getElementById('exe_part').className="show"
396
- document.getElementById('custom_part').className="hide"
397
- document.getElementById('executableConfig').className="showRadio"
398
- document.getElementById('libraryConfig').className="hideRadio"
399
- document.getElementById('customConfig').className="hideRadio"
400
-
401
- str = 'This is the main config of an application. This is the only config type which has dependencies.'
402
- ddrivetip("ExecutableConfig", "No","0..n","-",str)
403
- }
404
-
405
- function showLibraryConfig() {
406
- document.getElementById('libExe_part').className="show"
407
- document.getElementById('exe_part').className="hide"
408
- document.getElementById('custom_part').className="hide"
409
- document.getElementById('executableConfig').className="hideRadio"
410
- document.getElementById('libraryConfig').className="showRadio"
411
- document.getElementById('customConfig').className="hideRadio"
412
-
413
- str = 'This config is used for a source library. The library will be linked automatically to the executable.'
414
- ddrivetip("LibraryConfig", "No","0..n","-",str)
415
- }
416
-
417
- function showCustomConfig() {
418
- document.getElementById('libExe_part').className="hide"
419
- document.getElementById('exe_part').className="hide"
420
- document.getElementById('custom_part').className="show"
421
- document.getElementById('executableConfig').className="hideRadio"
422
- document.getElementById('libraryConfig').className="hideRadio"
423
- document.getElementById('customConfig').className="showRadio"
424
-
425
- str = 'This config is used for special projects, e.g. for Makefile projects.<br>'+
426
- 'It is valid to leave a CustomConfig completely empty - nothing will be done in that case.'
427
- ddrivetip("CustomConfig", "No","0..n","-",str)
428
- }
429
-
430
- function showExternalLibrary() {
431
- str = 'Every config can specify libs which have to be linked to the executable.<br>'+
432
- 'It\'s possible to add a path, e.g.:<br>'+
433
- '<i> &nbsp; &nbsp; ExternalLibrary "xy/z/ab"</i><br>'+
434
- 'In this case the lib "ab" is added to the linker command line as well as the lib search path "xy/z".<br>'+
435
- 'Note, that the linker will look for "libab.a".'
436
- ddrivetip("ExternalLibrary", "No","0..n","-",str)
437
- }
438
-
439
- function showExternalLibrarySearch() {
440
- str = 'If the attribute "search: false" is specified, the lib will not be searched but linked with the full name, e.g.<br>'+
441
- '<i> &nbsp; &nbsp; ExternalLibrary "xy/z/libpq.a", search: false</i><br>'+
442
- 'will link "xy/z/libpq.a" to the executable.<br>'+
443
- 'It is also possible to specify an object file when using "search: false".'
444
- ddrivetip("search", "No","-","true",str)
445
- }
446
-
447
- function showUserLibrary() {
448
- str = 'A user library will be linked <i>before</i> any other libraries or objects to the executable.<br>'+
449
- 'It is also possible to specify an object file.<br>'+
450
- 'The library will be searched like an ExternalLibrary, but with the full name, e.g.<br>'+
451
- '<i> &nbsp; &nbsp; UserLibrary "xy/z/libUser.a"</i><br>'+
452
- '<i> &nbsp; &nbsp; UserLibrary "xy/z/something.o"</i><br>'+
453
- 'will link "libUser.a" and "something.o" before regular objects and libraries.<br>'+
454
- '"xy/z" will be added as an ExternalLibrarySearchPath.'
455
- ddrivetip("UserLibrary", "No","0..n","-",str)
456
- }
457
-
458
- function showExternalLibrarySearchPath() {
459
- str = 'The linker looks for libraries in search paths.<br>'+
460
- 'Search paths can be defined implicitly by ExternalLibrary/UserLibrary or explicitly by this tag.'
461
- ddrivetip("ExternalLibrarySearchPath", "No","0..n","-",str)
462
- }
463
-
464
- function showPreSteps() {
465
- str = 'PreSteps are executed before compiling files of the project.<br>'+
466
- 'The number of steps are not limited.<br>'+
467
- 'If a step fails, all further steps of the project will be skipped.'
468
- ddrivetip("PreSteps", "No","0..1","-",str)
469
- }
470
-
471
- function showPostSteps() {
472
- str = 'PostSteps are executed after the main task of the project, e.g. linking an executable.<br>'+
473
- 'The number of steps are not limited.<br>'+
474
- 'If a step fails, all further steps of the project will be skipped.'
475
- ddrivetip("PostSteps", "No","0..1","-",str)
476
- }
477
-
478
- function showStartupSteps() {
479
- str = 'StartupSteps of ALL projects are executed before building the first project.<br>'+
480
- 'The number of steps are not limited.'
481
- ddrivetip("StartupSteps", "No","0..1","-",str)
482
- }
483
-
484
- function showExitSteps() {
485
- str = 'ExitSteps of ALL projects are executed after building complete workspace even if the build has failed.<br>'+
486
- 'The number of steps are not limited.'
487
- ddrivetip("ExitSteps", "No","0..1","-",str)
488
- }
489
-
490
- function showStepDefault() {
491
- str = 'Specifies if a step will be executed by default.<br>'+
492
- 'Disabling a step by default is useful if the step shall not be executed every build, e.g. special steps for releasing a software or some kind of developer test steps.'
493
- ddrivetip("default", "No","-","on",str)
494
- }
495
-
496
- function showStepFilter() {
497
- str = 'A step can be switched on or off explicitly regardless of the "default" attribute with the command line options<br>'+
498
- '<i> &nbsp; &nbsp; --do &#60;filter name&#62;</i><br>'+
499
- '<i> &nbsp; &nbsp; --omit &#60;filter name&#62;</i><br>'
500
- ddrivetip("filter", "No","-","-",str)
501
- }
502
-
503
- function showValidExitCodes() {
504
- str = 'Define it as an array, e.g.:<br>'+
505
- '..., validExitCodes: [200,201,202]'
506
- ddrivetip("validExitCodes", "No","-","[0]",str)
507
- }
508
-
509
-
510
- function getMakefileDesc() {
511
- return 'Makefile to be started, e.g.:<br>'+
512
- '<i> &nbsp; &nbsp; Makefile "subDir/makefile"</i><br>'
513
- }
514
-
515
- function showMakefile() {
516
- ddrivetip("Makefile", "No","0..n","-",getMakefileDesc())
517
- }
518
-
519
- function showMakefileLib() {
520
- str = 'If the result of the makefile is a library which shall be linked to the executable, name it here.'
521
- ddrivetip("lib", "No","-","-",str)
522
- }
523
-
524
- function showMakefileTarget() {
525
- str = 'The target of the makefile.'
526
- ddrivetip("target", "No","-","all",str)
527
- }
528
-
529
- function showMakefilePathTo() {
530
- str = 'Comma separated list, e.g. "common, abc, xy".<br>'+
531
- 'The makefile can use variables like $(PATH_TO_common). This is very useful if paths to other projects are needed in the makefile.<br>'+
532
- 'Remember that more than one workspace root can exist and a hardcoded "../common" is not reliable in that case.<br>'+
533
- '$(PATH_TO_common) will result in the path from the parent directory of the current project to the common project without the common directory itself. '+
534
- 'So if the current project and the common project have the same parent folder, the string will be empty.<br>'+
535
- 'Example:<br>'+
536
- 'makefile: c:\\workspaceroot\\yourProject\\makefile<br>'+
537
- 'usage in makefile: gcc -I$../../$(PATH_TO_common)common/include ...<br>'+
538
- 'It\'s done like this due to compatibility reasons.'
539
- ddrivetip("pathTo", "No","-","-",str)
540
- }
541
-
542
- function showMakefileFlags() {
543
- ddrivetip("Flags", "No","0..n","-j","Additional makefile flags.")
544
- }
545
-
546
- function getCommandLineDesc() {
547
- return 'A command to execute, e.g.:<br>'+
548
- '<i> &nbsp; &nbsp; CommandLine "ddump -Ruv -y 0xFFFFF -oRelease/application.bin Release/application.elf"</i><br>'+
549
- '<i> &nbsp; &nbsp; CommandLine "echo Hello world!"</i><br>'
550
- }
551
-
552
- function showCommandLine() {
553
- ddrivetip("CommandLine", "No","0..n","-",getCommandLineDesc())
554
- }
555
-
556
-
557
- function showEclipseOrder() {
558
- str = 'If not specified or false, all files are compiled in order of appearance in Project.meta. '+
559
- 'If the filename is a glob pattern, files are sorted alphabetically.<p>'+
560
- 'If true, files are compiled in alphabetical order within a folder, '+
561
- 'but the folders are sorted in reverse alphabetical order.<br>'+
562
- 'This is only used for backward compatibility.'
563
- ddrivetip("eclipseOrder", "No","-","false",str)
564
- }
565
-
566
- function showOutputDir() {
567
- str = 'Specifies the output folder.<p>'+
568
- 'Use always relative paths, not absolute paths due to portability.<p>'+
569
- 'Use always "/" and not "\\".<p>'+
570
- 'If the first part of the path is equal to a project name, it is used as a shortcut to this project root. <br>'+
571
- 'To avoid this magic, use something like this: <br>'+
572
- '<i> &nbsp; &nbsp; IncludeDir "./abc/include"</i><br>'
573
- ddrivetip("outputdir", "No","0..1","-",str)
574
- }
575
-
576
- function showExtends() {
577
- ddrivetip("extends", "No","0..1","-","Inherit settings from parent config(s).<br>For more information see docu page 'Derive configs'.")
578
- }
579
-
580
- function showFiles() {
581
- str = 'Specifies the files to build.<br>'+
582
- 'It\'s valid to specify a single file, e.g.<br>'+
583
- '<i> &nbsp; &nbsp; Files "src/abc/def.asm"</i><br>'+
584
- 'or a pattern, e.g.<br>'+
585
- '<i> &nbsp; &nbsp; Files "*/**/.cpp"</i><br>'+
586
- 'which builds all files with the ending ".cpp" in all subdirectories.<br>'+
587
- 'Note: ".." is not allowed in the file path. All files must be located within the project.<br>'+
588
- 'Note: if patterns are used, Flags and Define are ignored.'
589
- ddrivetip("Files", "No","0..n","-",str)
590
- }
591
-
592
- function showExcludeFiles() {
593
- str = 'Used to ignore files or directories.<br>'+
594
- 'ExcludeFiles has higher priority than Files.'
595
- ddrivetip("ExcludeFiles", "No","0..n","-",str)
596
- }
597
-
598
- function showIncludeDir() {
599
- str = 'Specifies the include directories for the assembler, C and C++ compiler.<p>'+
600
- 'Use always relative paths, not absolute paths due to portability.<p>'+
601
- 'Use always "/" and not "\\".<p>'+
602
- 'It is possible to work with different workspace roots. Do not include something like this: <br>'+
603
- '<i> &nbsp; &nbsp; IncludeDir "../abc/include"</i><br>'+
604
- 'but<br>'+
605
- '<i> &nbsp; &nbsp; IncludeDir "abc/include"</i><br>'+
606
- 'because it may happen, that abc does not exist in the same root as the current project. The path to abc will be calculated automatically.<p>'+
607
- 'To include directories of the current project, the project name can be omitted like this:<br>'+
608
- '<i> &nbsp; &nbsp; IncludeDir "include"</i><br>'+
609
- '<i> &nbsp; &nbsp; IncludeDir "generated/include"</i><br>'
610
- ddrivetip("IncludeDir", "No","0..n","-",str)
611
- }
612
-
613
- function showInherit() {
614
- str = 'Inherits the include to all projects, which depend on this project.'
615
- ddrivetip("inherit", "No","0..1","false",str)
616
- }
617
-
618
- function showInfix() {
619
- str = 'Injects the include path to all childs, either at the front (e.g. for mocking code) or at the end.'
620
- ddrivetip("inject", "No","0..1","-",str)
621
- }
622
-
623
- function showSet() {
624
- str = 'Sets a variable for this and all dependent projects.<br>'+
625
- 'The variable can be a simple value or the result of a cmd, e.g. \"cat myVar.txt\".'
626
- ddrivetip("Set", "No","0..n","-",str)
627
- }
628
-
629
- function showEnv() {
630
- str = 'Stores the variable also in system environment, which makes it available in everything which is executed by bake, e.g. in Pre- and PostSteps.'
631
- ddrivetip("env", "No","-","false",str)
632
- }
633
-
634
- function showDependency() {
635
- str = 'Specifies another project to be built before this project.<br>'+
636
- 'The archive, linker libs and search paths are imported from this project to the this project automatically.<br>'+
637
- 'If you omit the project, the current project will be used.<br>'+
638
- 'If you omit the config name, the default config will be used.<br>'+
639
- '<b>Examples:</b><br>'+
640
- '&nbsp;&nbsp; <i>Dependency gtest, config: lib<br>'+
641
- '&nbsp;&nbsp; Dependency "my/folder/proj"</i>'
642
- ddrivetip("Dependency", "No","0..n","-",str)
643
- }
644
-
645
- function showDependencyConfig() {
646
- str = 'Config name of the project to build.'
647
- ddrivetip("config", "Yes","-","-",str)
648
- }
649
-
650
- function showLinkerScript() {
651
- str = 'Specifies the name including path of the linker script.'
652
- ddrivetip("Dependency", "No","0..1","-",str)
653
- }
654
-
655
- function showMapFile() {
656
- str = 'A mapfile will be written by the linker.'
657
- ddrivetip("MapFile", "No","0..1","If name attribute is omitted: $(OutputDir)/$(ArtifactNameBase).map",str)
658
- }
659
-
660
- function showArtifactName() {
661
- str = 'The artifact name inclusive file ending.<br>'+
662
- 'The artifact will be placed in the output directory.'
663
- ddrivetip("ArtifactName","No","0..1","Executable: project name + toolchain dependent file ending. Library: 'lib' + project name + '.a'",str)
664
- }
665
-
666
- function showMakefileCustom() {
667
- document.getElementById('makefile_part').className="showInline"
668
- document.getElementById('commandline_part').className="hide"
669
- document.getElementById('makefile').className="showRadio"
670
- document.getElementById('commandline').className="hideRadio"
671
- ddrivetip("Makefile", "No","0..1 - Either Makefile or CommandLine","-",getMakefileDesc())
672
- }
673
-
674
- function showCommandlineCustom() {
675
- document.getElementById('makefile_part').className="hide"
676
- document.getElementById('commandline_part').className="showInline"
677
- document.getElementById('makefile').className="hideRadio"
678
- document.getElementById('commandline').className="showRadio"
679
- ddrivetip("CommandLine", "No","0..1 - Either Makefile or CommandLine","-",getCommandLineDesc())
680
- }
681
-
682
- function flagExample() {
683
- return "<br>For removing flags use regular expressions which can be interpreted by ruby.<br>"+
684
- "Regex options for start and stop string are automatically added in order to avoid substring matches.<br><br>"+
685
- "Flag strings are always splitted at spaces and computed individually.<br><br>"+
686
- "<b>Examples:</b><br>"+
687
- "&nbsp;&nbsp; <i>Flags \"-x -y\"</i> overwrites the inherited flags<br><br>"+
688
- "&nbsp;&nbsp; <i>Flags add: \"-x -y\"</i> adds -x and -y if not exist<br><br>"+
689
- "&nbsp;&nbsp; <i>Flags remove: \"-x -y\"</i> removes -x and -y if exist<br><br>"+
690
- "&nbsp;&nbsp; It is possible to combine the attributes like this:<br>"+
691
- "&nbsp;&nbsp; <i>Flags remove: \"-x\", add: \"-y\"</i><br><br>"+
692
- "&nbsp;&nbsp; To remove -g followed by any string, e.g. -g3, the command is:<br>"+
693
- "&nbsp;&nbsp; <i>Flags remove: \"-g.*\"</i><br>"+
694
- "&nbsp;&nbsp; An inherited flag string \"-abc -g3 -xy\" will end up in \"-abc -xy\"."
695
- }
696
-
697
-
698
- function showToolchainProject() {
699
- str = 'Toolchain adaptions for a project.'
700
- ddrivetip("Toolchain", "No","0..1","The DefaultToolchain settings from the main project",str)
701
- }
702
-
703
- function showDefaultToolchain() {
704
- str = 'Settings which are valid for all projects and files unless they will be overwritten.<br>'+
705
- 'The attribute "basedOn" specifies the basic toolchain configuration provided by bake, e.g. "GCC", "Diab", etc.'
706
- ddrivetip("DefaultToolchain", "In main project","0..1","-",str)
707
- }
708
-
709
- function showFilesFlags() {
710
- ddrivetip("Flags", "No","0..n","Flags from project","Flags from the project can be overwritten, extended or (partly) removed.<br>"+flagExample())
711
- }
712
-
713
- function showFilesDefine() {
714
- ddrivetip("Define", "No","0..n","-","Defines which are valid only for a specific file.")
715
- }
716
-
717
- function showFlags() {
718
- ddrivetip("Flags", "No","0..n","Flags from DefaultToolchain","Flags from the DefaultToolchain can be overwritten, extended or (partly) removed.<br>"+flagExample())
719
- }
720
-
721
- function showDefine() {
722
- ddrivetip("Define", "No","0..n","-","Defines valid for all files in the project.")
723
- }
724
-
725
- function showLibPrefixFlags() {
726
- ddrivetip("LibPrefixFlags", "No","0..n","-","Linker libs can be prefixed if needed, e.g. with \"-Wl,--whole-archive\".")
727
- }
728
-
729
- function showLibPostfixFlags() {
730
- ddrivetip("LibPostfixFlags", "No","0..n","-","Linker libs can be postfixed if needed, e.g. with \"-Wl,--no-whole-archive\".")
731
- }
732
-
733
- function showCompiler() {
734
- ddrivetip("Compiler", "No","0..3 (for each compiler type: ASM, CPP, C)","-","Flags and defines can be specified independently for each compiler type.")
735
- }
736
-
737
- function showArchiver() {
738
- ddrivetip("Archiver", "No","0..1","-","Settings for the archiver.")
739
- }
740
-
741
- function showLinker() {
742
- ddrivetip("Linker", "No","0..1","-","Makes sense only for ExecutableConfigs.")
743
- }
744
-
745
- function showLintPolicy() {
746
- ddrivetip("LintPolicy", "No","0..n","-","lnt-file - but it can be used for any other command line option for Lint.")
747
- }
748
-
749
- function showDocu() {
750
- ddrivetip("Docu", "No","0..1","-","Command to build the documentation. e.g.:<br>doxygen main.cfg")
751
- }
752
-
753
- function showDefaultFlags() {
754
- ddrivetip("Flags", "No","0..n","-","Default flags.")
755
- }
756
-
757
- function showDefaultDefine() {
758
- ddrivetip("Define", "No","0..n","-","Defines which are valid for all files.")
759
- }
760
-
761
- function showInternalDefines() {
762
- ddrivetip("InternalDefines", "No","0..1","-","File with list of compiler internal defines.<br>One define per line.<br>Empty lines and comments with # are allowed.")
763
- }
764
-
765
- function showInternalIncludes() {
766
- ddrivetip("InternalIncludes", "No","0..1","-","File with list of compiler internal include folders.<br>One folder per line.<br>Empty lines and comments with # are allowed.")
767
- }
768
-
769
- function showDefaultCompiler() {
770
- ddrivetip("Compiler", "No","0..3 (for each compiler type: ASM, CPP, C)","-","Default compiler settings.")
771
- }
772
-
773
- function showDefaultArchiver() {
774
- ddrivetip("Archiver", "No","0..1","-","Default settings for the archiver.")
775
- }
776
-
777
- function showDefaultLinker() {
778
- ddrivetip("Linker", "No","0..1","-","Default settings for the linker.")
779
- }
780
-
781
- function showDefaultLintPolicy() {
782
- ddrivetip("LintPolicy", "No","0..n","-","lnt-file - but it can be used for any other command line option for Lint.")
783
- }
784
-
785
- function showCommand() {
786
- ddrivetip("command", "No","-","Depending on toolchain, e.g. \"gcc\"","Change command, e.g. \"$(PATH_TO_EXE)/gcc_speciale.exe\"")
787
- }
788
-
789
-
790
-
791
- var offsetxpoint=20 //Customize x offset of tooltip
792
- var offsetypoint=20 //Customize y offset of tooltip
793
- var ie=document.all
794
- var ns6=document.getElementById && !document.all
795
- var enabletip=false
796
- if (ie||ns6)
797
- var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""
798
-
799
- function ietruebody(){
800
- return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
801
- }
802
-
803
- function ddrivetip(item, manda, quan, def, desc){
804
- if (ns6||ie){
805
-
806
- var abc=ie&&!window.opera? ietruebody().clientWidth : window.innerWidth
807
-
808
- tipobj.style.width=(abc/2-offsetxpoint*2).toString()+"px"
809
- tipobj.style.backgroundColor="#DDFFDD"
810
- tipobj.innerHTML="<b><u>"+item+"</u><br><br>Mandatory:</b> "+manda+"<br><b>Quantity</b>: "+quan+"<br><b>Default</b>: "+def+"<br><br><b>Description</b>:<br>"+desc
811
- enabletip=true
812
- return false
813
- }
814
- }
815
-
816
- function positiontip(e){
817
- if (enabletip){
818
- var curX=(ns6)?e.offsetX : event.clientX+ietruebody().scrollLeft;
819
- var curY=(ns6)?e.pageY-80 : event.clientY+ietruebody().scrollTop;
820
- //Find out how close the mouse is to the corner of the window
821
- var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint
822
- var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint*2 : window.innerHeight-e.clientY-offsetypoint
823
- var bottom=ie&&!window.opera? ietruebody().clientHeight : window.innerHeight
824
-
825
- var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : offsetxpoint
826
-
827
- //if the horizontal distance isn't enough to accomodate the width of the context menu
828
- if (rightedge<tipobj.offsetWidth+offsetxpoint/2)
829
- //move the horizontal position of the menu to the left by it's width
830
- tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth-offsetxpoint+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth-offsetxpoint+"px"
831
- else if (curX<leftedge)
832
- tipobj.style.left="5px"
833
- else
834
- //position the horizontal position of the menu where the mouse is positioned
835
- tipobj.style.left=curX+offsetxpoint+"px"
836
-
837
- //same concept with the vertical position
838
- if (bottomedge<tipobj.offsetHeight)
839
- tipobj.style.top=ie? ietruebody().scrollTop+bottom-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+bottom-tipobj.offsetHeight-offsetypoint+"px"
840
- else
841
- tipobj.style.top=curY+offsetypoint+"px"
842
- tipobj.style.visibility="visible"
843
- }
844
- }
845
-
846
-
847
- function notip(){
848
- if (ns6||ie){
849
- enabletip=false
850
- tipobj.style.visibility="hidden"
851
- tipobj.style.left="-1000px"
852
- tipobj.style.backgroundColor=''
853
- tipobj.style.width=''
854
- }
855
- }
856
-
857
- document.onmousemove=positiontip
858
-
859
- </script>
860
-
861
- </td></table>
862
-
863
- </body>
864
- </html>
865
- <div class="admonition note">
866
- <p class="first admonition-title">Note</p>
867
- <p>Specify the paths always relative to the current project root, but keep the variable substitution in Project.meta in mind.</p>
868
- <ul class="last simple">
869
- <li>Use double quotes (&#8221;) if the strings have spaces or slashes.</li>
870
- <li>Use hash marks (#) for comments.</li>
871
- </ul>
872
- </div>
873
- </div>
874
- </div>
875
-
876
-
877
- </div>
878
-
879
- </div>
880
- </div>
881
- <footer class="footer">
882
- <div class="container">
883
- <p class="pull-right">
884
- <a href="#">Back to top</a>
885
-
886
- </p>
887
- <p>
888
- &copy; Copyright 2016, E.S.R.Labs AG.<br/>
889
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
890
- </p>
891
- </div>
892
- </footer>
893
- </body>
1
+ <!DOCTYPE html>
2
+
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml">
5
+ <head>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
+
8
+ <title>The Syntax of the Project.meta file &mdash; bake 2.19.1 documentation</title>
9
+
10
+ <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
+ <link rel="stylesheet" href="../_static/bootswatch-3.3.4/sandstone/bootstrap.min.css" type="text/css" />
13
+ <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
14
+
15
+ <script type="text/javascript">
16
+ var DOCUMENTATION_OPTIONS = {
17
+ URL_ROOT: '../',
18
+ VERSION: '2.19.1',
19
+ COLLAPSE_INDEX: false,
20
+ FILE_SUFFIX: '.html',
21
+ HAS_SOURCE: true
22
+ };
23
+ </script>
24
+ <script type="text/javascript" src="../_static/jquery.js"></script>
25
+ <script type="text/javascript" src="../_static/underscore.js"></script>
26
+ <script type="text/javascript" src="../_static/doctools.js"></script>
27
+ <script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js"></script>
28
+ <script type="text/javascript" src="../_static/js/jquery-fix.js"></script>
29
+ <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
+ <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
+ <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
+ <link rel="top" title="bake 2.19.1 documentation" href="../index.html" />
33
+ <link rel="up" title="Syntax" href="syntax.html" />
34
+ <link rel="next" title="Variables in Project.meta" href="variable_substitutions.html" />
35
+ <link rel="prev" title="Syntax" href="syntax.html" />
36
+ <meta charset='utf-8'>
37
+ <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
38
+ <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
39
+ <meta name="apple-mobile-web-app-capable" content="yes">
40
+
41
+ </head>
42
+ <body role="document">
43
+
44
+ <div id="navbar" class="navbar navbar-default navbar-fixed-top">
45
+ <div class="container">
46
+ <div class="navbar-header">
47
+ <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
48
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
49
+ <span class="icon-bar"></span>
50
+ <span class="icon-bar"></span>
51
+ <span class="icon-bar"></span>
52
+ </button>
53
+ <a class="navbar-brand" href="../index.html"><img src="../_static/logo_conformant_48.png">
54
+ </a>
55
+ <span class="navbar-text navbar-version pull-left"><b></b></span>
56
+ </div>
57
+
58
+ <div class="collapse navbar-collapse nav-collapse">
59
+ <ul class="nav navbar-nav">
60
+
61
+
62
+ <li class="dropdown globaltoc-container">
63
+ <a role="button"
64
+ id="dLabelGlobalToc"
65
+ data-toggle="dropdown"
66
+ data-target="#"
67
+ href="../index.html">Section <b class="caret"></b></a>
68
+ <ul class="dropdown-menu globaltoc"
69
+ role="menu"
70
+ aria-labelledby="dLabelGlobalToc"><ul class="current">
71
+ <li class="toctree-l1"><a class="reference internal" href="../why_bake/why_bake.html">Why you should use bake</a></li>
72
+ <li class="toctree-l1"><a class="reference internal" href="../install/install_bake.html">Install bake</a></li>
73
+ <li class="toctree-l1"><a class="reference internal" href="../quickstart/quickstart.html">Quickstart</a></li>
74
+ <li class="toctree-l1"><a class="reference internal" href="../concepts/concepts.html">Concepts</a></li>
75
+ <li class="toctree-l1 current"><a class="reference internal" href="syntax.html">Syntax</a></li>
76
+ <li class="toctree-l1"><a class="reference internal" href="../commandline/commandline.html">Commandline</a></li>
77
+ <li class="toctree-l1"><a class="reference internal" href="../ide/ide_integrations.html">IDE Support</a></li>
78
+ <li class="toctree-l1"><a class="reference internal" href="../tips_and_tricks/tips_and_tricks.html">Tips and Tricks</a></li>
79
+ <li class="toctree-l1"><a class="reference internal" href="../performance/performance.html">Performance</a></li>
80
+ <li class="toctree-l1"><a class="reference internal" href="../known_issues.html">Known Issues</a></li>
81
+ <li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
82
+ <li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
83
+ </ul>
84
+ <ul>
85
+ <li class="toctree-l1"><a class="reference internal" href="../internal.html">Internal developing notes</a></li>
86
+ </ul>
87
+ </ul>
88
+ </li>
89
+
90
+ <li class="dropdown">
91
+ <a role="button"
92
+ id="dLabelLocalToc"
93
+ data-toggle="dropdown"
94
+ data-target="#"
95
+ href="#">SubSections <b class="caret"></b></a>
96
+ <ul class="dropdown-menu localtoc"
97
+ role="menu"
98
+ aria-labelledby="dLabelLocalToc"><ul>
99
+ <li><a class="reference internal" href="#">The Syntax of the Project.meta file</a><ul>
100
+ <li><a class="reference internal" href="#instructions-for-the-interactive-syntax-viewer">Instructions for the Interactive Syntax Viewer</a></li>
101
+ </ul>
102
+ </li>
103
+ </ul>
104
+ </ul>
105
+ </li>
106
+
107
+
108
+
109
+
110
+
111
+ <li>
112
+ <a href="syntax.html" title="Previous Chapter: Syntax"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Syntax</span>
113
+ </a>
114
+ </li>
115
+ <li>
116
+ <a href="variable_substitutions.html" title="Next Chapter: Variables in Project.meta"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Variables in ... &raquo;</span>
117
+ </a>
118
+ </li>
119
+
120
+
121
+
122
+
123
+
124
+ </ul>
125
+
126
+
127
+
128
+ <form class="navbar-form navbar-right" action="../search.html" method="get">
129
+ <div class="form-group">
130
+ <input type="text" name="q" class="form-control" placeholder="Search" />
131
+ </div>
132
+ <input type="hidden" name="check_keywords" value="yes" />
133
+ <input type="hidden" name="area" value="default" />
134
+ </form>
135
+
136
+ </div>
137
+ </div>
138
+ </div>
139
+
140
+ <div class="container">
141
+ <div class="row">
142
+ <div class="col-md-12">
143
+
144
+ <div class="section" id="the-syntax-of-the-project-meta-file">
145
+ <h1>The Syntax of the Project.meta file<a class="headerlink" href="#the-syntax-of-the-project-meta-file" title="Permalink to this headline">¶</a></h1>
146
+ <div class="section" id="instructions-for-the-interactive-syntax-viewer">
147
+ <h2>Instructions for the Interactive Syntax Viewer<a class="headerlink" href="#instructions-for-the-interactive-syntax-viewer" title="Permalink to this headline">¶</a></h2>
148
+ <ul class="simple">
149
+ <li>Move the mouse cursor over the blue elements to display more information.</li>
150
+ <li>Three config types exist: ExecutableConfig, LibraryConfig and CustomConfig. Move the mouse cursor over these elements to display the supported content.</li>
151
+ </ul>
152
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
153
+ "http://www.w3.org/TR/html4/strict.dtd">
154
+ <html>
155
+ <head></head>
156
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
157
+
158
+ <body >
159
+
160
+ <style type="text/css">
161
+
162
+ #dhtmltooltip{
163
+ position: absolute;
164
+ width: 150px;
165
+ border: 2px solid black;
166
+ padding: 2px;
167
+ background-color: lightyellow;
168
+ visibility: hidden;
169
+ z-index: 100;
170
+ }
171
+
172
+ </style>
173
+
174
+ <style type="text/css">
175
+ .hide {
176
+ display:none;
177
+ }
178
+ .show {
179
+ display:block
180
+ }
181
+ .showInline {
182
+ display:inline
183
+ }
184
+ .help {
185
+ color:blue
186
+ }
187
+ .showRadio {
188
+ font-weight:bold;color:blue;text-decoration:overline underline
189
+ }
190
+ .hideRadio {
191
+ color:#AAAAFF;
192
+ }
193
+ .mycomment {
194
+ color:green
195
+ }
196
+ </style>
197
+
198
+
199
+
200
+
201
+
202
+ <table border="1" style="font-family:monospace"; font-size:10><td>
203
+
204
+ <span class="help" onMouseover="showProject()" onMouseout="notip()">Project</span> <span class="help" onMouseover="showDefaultConfig()" onMouseout="notip()">default</span>: &#60;name&#62; {<br>
205
+ &nbsp; <br>
206
+
207
+ &nbsp; <span class="help" onMouseover="showDescription()" onMouseout="notip()">Description</span> &#60;text&#62;<br><br>
208
+
209
+ &nbsp; <span class="help" onMouseover="showVersion()" onMouseout="notip()">RequiredBakeVersion</span> minimum: &#60;major.minor.patch&#62;, maximum: &#60;major.minor.patch&#62;<br><br>
210
+
211
+ &nbsp; <span class="help" onMouseover="showResponsible()" onMouseout="notip()">Responsible</span> {<br>
212
+ &nbsp; &nbsp; <span class="help" onMouseover="showPerson()" onMouseout="notip()">Person</span> &#60;name&#62;,
213
+ <span class="help" onMouseover="showPersonEmail()" onMouseout="notip()">email</span>: &#60;adr&#62;<br>
214
+ &nbsp; }<br><br>
215
+
216
+ &nbsp; <span class="mycomment"># 0..n configs</span><br>
217
+ &nbsp; <span class="showRadio" onMouseover="showExecutableConfig()" onMouseout="notip()" id="executableConfig">ExecutableConfig</span> |
218
+ <span class="hideRadio" onMouseover="showLibraryConfig()" onMouseout="notip()" id="libraryConfig">LibraryConfig</span> |
219
+ <span class="hideRadio" onMouseover="showCustomConfig()" onMouseout="notip()" id="customConfig">CustomConfig</span> &#60;name&#62;, <span class="help" onMouseover="showExtends()" onMouseout="notip()">extends</span>: &#60;parent(s)&#62; {<br><br>
220
+
221
+ <span><span style="background-color:#EEEEEE;" class="show">
222
+ &nbsp; &nbsp; <span class="mycomment"># Valid for all config types</span><br><br>
223
+ &nbsp; &nbsp; <span class="help" onMouseover="showDescription()" onMouseout="notip()">Description</span> &#60;text&#62;<br>
224
+ &nbsp; &nbsp; <span class="help" onMouseover="showIncludeDir()" onMouseout="notip()">IncludeDir</span> &#60;dir&#62;, <span class="help" onMouseover="showInherit()" onMouseout="notip()">inherit</span>: true|false, <span class="help" onMouseover="showInfix()" onMouseout="notip()">inject</span>: front|back<br>
225
+ &nbsp; &nbsp; <span class="help" onMouseover="showSet()" onMouseout="notip()">Set</span> &#60;variable&#62;, value: &#60;value&#62; | cmd: &#60;line&#62;, <span class="help" onMouseover="showEnv()" onMouseout="notip()">env</span>: true|false<br>
226
+ &nbsp; &nbsp; <span class="help" onMouseover="showDependency()" onMouseout="notip()">Dependency</span> &#60;project&#62;,
227
+ <span class="help" onMouseover="showDependencyConfig()" onMouseout="notip()">config</span>: &#60;name&#62;<br>
228
+ &nbsp; &nbsp; <span class="help" onMouseover="showExternalLibrary()" onMouseout="notip()">ExternalLibrary</span> &#60;lib&#62;,
229
+ <span class="help" onMouseover="showExternalLibrarySearch()" onMouseout="notip()">search</span>: true|false<br>
230
+ &nbsp; &nbsp; <span class="help" onMouseover="showUserLibrary()" onMouseout="notip()">UserLibrary</span> &#60;lib&#62;<br>
231
+ &nbsp; &nbsp; <span class="help" onMouseover="showExternalLibrarySearchPath()" onMouseout="notip()">ExternalLibrarySearchPath</span> &#60;path&#62;<br>
232
+ &nbsp; &nbsp; <span class="help" onMouseover="showPreSteps()" onMouseout="notip()">PreSteps</span> {<br>
233
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showMakefile()" onMouseout="notip()">Makefile</span> &#60;file&#62;,
234
+ <span class="help" onMouseover="showMakefileLib()" onMouseout="notip()">lib</span>: &#60;lib&#62;,
235
+ <span class="help" onMouseover="showMakefileTarget()" onMouseout="notip()">target</span>: &#60;target&#62;,
236
+ <span class="help" onMouseover="showMakefilePathTo()" onMouseout="notip()">pathTo</span>: &#60;paths&#62;,
237
+ <span class="help" onMouseover="showStepDefault()" onMouseout="notip()">default</span>: on|off,
238
+ <span class="help" onMouseover="showStepFilter()" onMouseout="notip()">filter</span>: &#60;name&#62;,
239
+ <span class="help" onMouseover="showValidExitCodes()" onMouseout="notip()">validExitCodes</span>: &#60;[array]&#62; {<br>
240
+ &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showMakefileFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;<br>
241
+ &nbsp; &nbsp; &nbsp; }<br>
242
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showCommandLine()" onMouseout="notip()">CommandLine</span> &#60;line&#62;,
243
+ <span class="help" onMouseover="showStepDefault()" onMouseout="notip()">default</span>: on|off,
244
+ <span class="help" onMouseover="showStepFilter()" onMouseout="notip()">filter</span>: &#60;name&#62;,
245
+ <span class="help" onMouseover="showValidExitCodes()" onMouseout="notip()">validExitCodes</span>: &#60;[array]&#62;<br>
246
+ &nbsp; &nbsp; }<br>
247
+ &nbsp; &nbsp; <span class="help" onMouseover="showPostSteps()" onMouseout="notip()">PostSteps</span> {<br>
248
+ &nbsp; &nbsp; &nbsp; <span class="mycomment"># Same as for PreSteps</span><br>
249
+ &nbsp; &nbsp; }<br>
250
+ &nbsp; &nbsp; <span class="help" onMouseover="showStartupSteps()" onMouseout="notip()">StartupSteps</span> {<br>
251
+ &nbsp; &nbsp; &nbsp; <span class="mycomment"># Same as for PreSteps</span><br>
252
+ &nbsp; &nbsp; }<br>
253
+ &nbsp; &nbsp; <span class="help" onMouseover="showExitSteps()" onMouseout="notip()">ExitSteps</span> {<br>
254
+ &nbsp; &nbsp; &nbsp; <span class="mycomment"># Same as for PreSteps</span><br>
255
+ &nbsp; &nbsp; }<br>
256
+ &nbsp; &nbsp; <span class="help" onMouseover="showDefaultToolchain()" onMouseout="notip()">DefaultToolchain</span> &#60;basedOn&#62;, <span class="help" onMouseover="showOutputDir()" onMouseout="notip()">outputDir</span>: &#60;dir&#62;, <span class="help" onMouseover="showEclipseOrder()" onMouseout="notip()">eclipseOrder</span>: true|false {<br>
257
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultCompiler()" onMouseout="notip()">Compiler</span> ASM | CPP | C,
258
+ <span class="help" onMouseover="showCommand()" onMouseout="notip()">command</span>: &#60;cmd&#62; {</i><br>
259
+ &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;<br>
260
+ &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultDefine()" onMouseout="notip()">Define</span> &#60;define&#62;<br>
261
+ &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showInternalDefines()" onMouseout="notip()">InternalDefines</span> &#60;file&#62;<br>
262
+ &nbsp; &nbsp; &nbsp; }<br>
263
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultArchiver()" onMouseout="notip()">Archiver</span>
264
+ <span class="help" onMouseover="showCommand()" onMouseout="notip()">command</span>: &#60;cmd&#62; {</i><br>
265
+ &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;<br>
266
+ &nbsp; &nbsp; &nbsp; }<br>
267
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultLinker()" onMouseout="notip()">Linker</span>
268
+ <span class="help" onMouseover="showCommand()" onMouseout="notip()">command</span>: &#60;cmd&#62; {</i><br>
269
+ &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;<br>
270
+ &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showLibPrefixFlags()" onMouseout="notip()">LibPrefixFlags</span> &#60;flags&#62;<br>
271
+ &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showLibPostfixFlags()" onMouseout="notip()">LibPostfixFlags</span> &#60;flags&#62;<br>
272
+ &nbsp; &nbsp; &nbsp; }<br>
273
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showInternalIncludes()" onMouseout="notip()">InternalIncludes</span> &#60;file&#62;<br>
274
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefaultLintPolicy()" onMouseout="notip()">LintPolicy</span> &#60;policy&#62;<br>
275
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDocu()" onMouseout="notip()">Docu</span> &#60;cmdLine&#62;<br>
276
+ &nbsp; &nbsp; }<br>
277
+
278
+
279
+ &nbsp; &nbsp; <span class="help" onMouseover="showToolchainProject()" onMouseout="notip()">Toolchain</span> <span class="help" onMouseover="showOutputDir()" onMouseout="notip()">outputDir</span>: &#60;dir&#62; {<br>
280
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showCompiler()" onMouseout="notip()">Compiler</span> ASM | CPP | C,
281
+ <span class="help" onMouseover="showCommand()" onMouseout="notip()">command</span>: &#60;cmd&#62; {</i><br>
282
+ &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;, add: &#60;flags&#62;, remove: &#60;flags&#62;<br>
283
+ &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDefine()" onMouseout="notip()">Define</span> &#60;define&#62;<br>
284
+ &nbsp; &nbsp; &nbsp; }<br>
285
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showArchiver()" onMouseout="notip()">Archiver</span>
286
+ <span class="help" onMouseover="showCommand()" onMouseout="notip()">command</span>: &#60;cmd&#62; {</i><br>
287
+ &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;, add: &#60;flags&#62;, remove: &#60;flags&#62;<br>
288
+ &nbsp; &nbsp; &nbsp; }<br>
289
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showLinker()" onMouseout="notip()">Linker</span>
290
+ <span class="help" onMouseover="showCommand()" onMouseout="notip()">command</span>: &#60;cmd&#62; {</i><br>
291
+ &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;, add: &#60;flags&#62;, remove: &#60;flags&#62<br>
292
+ &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showLibPrefixFlags()" onMouseout="notip()">LibPrefixFlags</span> &#60;flags&#62;, add: &#60;flags&#62;, remove: &#60;flags&#62<br>
293
+ &nbsp; &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showLibPostfixFlags()" onMouseout="notip()">LibPostfixFlags</span> &#60;flags&#62;, add: &#60;flags&#62;, remove: &#60;flags&#62<br>
294
+ &nbsp; &nbsp; &nbsp; }<br>
295
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showLintPolicy()" onMouseout="notip()">LintPolicy</span> &#60;policy&#62;<br>
296
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showDocu()" onMouseout="notip()">Docu</span> &#60;cmdLine&#62;<br>
297
+ &nbsp; &nbsp; }<br></span><br>
298
+ </span>
299
+
300
+ <span id="libExe_part"><span class="show" style="background-color:#EEEEEE;">
301
+ &nbsp; &nbsp; <span class="mycomment"># Valid for ExecutableConfig and LibraryConfig</span><br><br>
302
+ &nbsp; &nbsp; <span class="help" onMouseover="showFiles()" onMouseout="notip()">Files</span> &#60;pattern&#62; {<br>
303
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showFilesFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;, add: &#60;flags&#62;, remove: &#60;flags&#62;<br>
304
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showFilesDefine()" onMouseout="notip()">Define</span> &#60;define&#62;<br>
305
+ &nbsp; &nbsp; }<br>
306
+ &nbsp; &nbsp; <span class="help" onMouseover="showExcludeFiles()" onMouseout="notip()">ExcludeFiles</span> &#60;pattern&#62;<br>
307
+ &nbsp; &nbsp; <span class="help" onMouseover="showArtifactName()" onMouseout="notip()">ArtifactName</span> &#60;name&#62;<br>
308
+ </span><br></span>
309
+
310
+ <span id="exe_part"><span class="show" style="background-color:#EEEEEE;">
311
+ &nbsp; &nbsp; <span class="mycomment"># Valid for ExecutableConfig</span><br><br>
312
+ &nbsp; &nbsp; <span class="help" onMouseover="showLinkerScript()" onMouseout="notip()">LinkerScript</span> &#60;script&#62;<br>
313
+ &nbsp; &nbsp; <span class="help" onMouseover="showMapFile()" onMouseout="notip()">MapFile</span> &#60;name&#62;<br>
314
+ </span><br></span>
315
+
316
+ <span id="custom_part" class="hide"><span style="background-color:#EEEEEE;" class="show">
317
+ &nbsp; &nbsp; <span class="mycomment"># Valid for CustomConfig</span><br><br>
318
+ &nbsp; &nbsp; <span class="showRadio" id="makefile" onMouseover="showMakefileCustom()" onMouseout="notip()">Makefile</span> |
319
+ <span class="hideRadio" id="commandline" onMouseover="showCommandlineCustom()" onMouseout="notip()">CommandLine</span>
320
+ <span style="background-color:#DDDDDD;" id="makefile_part" class="showInline"> &#60;name&#62;,
321
+ <span class="help" onMouseover="showMakefileLib()" onMouseout="notip()">lib</span>: &#60;lib&#62;,
322
+ <span class="help" onMouseover="showMakefileTarget()" onMouseout="notip()">target</span>: &#60;target&#62;,
323
+ <span class="help" onMouseover="showMakefilePathTo()" onMouseout="notip()">pathTo</span>: &#60;paths&#62;,
324
+ <span class="help" onMouseover="showStepDefault()" onMouseout="notip()">default</span>: on|off,
325
+ <span class="help" onMouseover="showStepFilter()" onMouseout="notip()">filter</span>: &#60;name&#62;,
326
+ <span class="help" onMouseover="showValidExitCodes()" onMouseout="notip()">validExitCodes</span>: &#60;[array]&#62; {<br>
327
+ &nbsp; &nbsp; &nbsp; <span class="help" onMouseover="showMakefileFlags()" onMouseout="notip()">Flags</span> &#60;flags&#62;<br>
328
+ &nbsp; &nbsp; }<br>
329
+ </span>
330
+ <span style="background-color:#DDDDDD;" id="commandline_part" class="hide">&#60;line&#62;,
331
+ <span class="help" onMouseover="showStepDefault()" onMouseout="notip()">default</span>: on|off,
332
+ <span class="help" onMouseover="showStepFilter()" onMouseout="notip()">filter</span>: &#60;name&#62;,
333
+ <span class="help" onMouseover="showValidExitCodes()" onMouseout="notip()">validExitCodes</span>: &#60;[array]&#62;
334
+ </span>
335
+ &nbsp; &nbsp; <br></span><br></span>
336
+ &nbsp; }<br>
337
+ }<br>
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+ <div id="dhtmltooltip"></div>
346
+
347
+ <script type="text/javascript">
348
+
349
+
350
+ function showProject() {
351
+ str = 'A bake project is very similiar to a project in Eclipse, Visual Studio, etc.<br>'+
352
+ 'The name of the project is the directory name of the Project.meta file.'
353
+ ddrivetip("Project", "Yes", "1", "-",str)
354
+ }
355
+
356
+ function showDefaultConfig() {
357
+ str = 'Default configuration which is used if not explicitly specified on command line or Dependency definition.<br><br>'+
358
+ 'Examples:<br>'+
359
+ '# Project.meta:<br>'+
360
+ 'Dependency canDriver # uses default config of canDriver project<br>'+
361
+ '# Command line:<br>'+
362
+ 'bake -m folder/dir/projABC # builds default config of project projABC'
363
+ ddrivetip("defaukt", "No", "-", "-",str)
364
+ }
365
+
366
+ function showResponsible() {
367
+ str = "Specify all responsible persons of the project."
368
+ ddrivetip("Responsible", "No,", "0..1", "-",str)
369
+ }
370
+
371
+ function showDescription() {
372
+ str = 'Description of the project or config.'
373
+ ddrivetip("Description", "No", "0..1", "-",str)
374
+ }
375
+
376
+ function showVersion() {
377
+ str = 'If specified, the build will be aborted if bake version is lower than mininum or greater than maximum.<br>'+
378
+ 'It is possible to define only minimum, only maximim or both version thresholds.<br>'+
379
+ 'Minor and patch version numbers are optional.'
380
+ ddrivetip("RequiredBakeVersion", "No", "0..1", "-",str)
381
+ }
382
+
383
+ function showPerson() {
384
+ str = 'Person who is responsible for the project.'
385
+ ddrivetip("Person", "No", "0..1", "-",str)
386
+ }
387
+
388
+ function showPersonEmail() {
389
+ str = 'Use always double quotes (") for the email address.'
390
+ ddrivetip("email", "No", "-", "-",str)
391
+ }
392
+
393
+ function showExecutableConfig() {
394
+ document.getElementById('libExe_part').className="show"
395
+ document.getElementById('exe_part').className="show"
396
+ document.getElementById('custom_part').className="hide"
397
+ document.getElementById('executableConfig').className="showRadio"
398
+ document.getElementById('libraryConfig').className="hideRadio"
399
+ document.getElementById('customConfig').className="hideRadio"
400
+
401
+ str = 'This is the main config of an application. This is the only config type which has dependencies.'
402
+ ddrivetip("ExecutableConfig", "No","0..n","-",str)
403
+ }
404
+
405
+ function showLibraryConfig() {
406
+ document.getElementById('libExe_part').className="show"
407
+ document.getElementById('exe_part').className="hide"
408
+ document.getElementById('custom_part').className="hide"
409
+ document.getElementById('executableConfig').className="hideRadio"
410
+ document.getElementById('libraryConfig').className="showRadio"
411
+ document.getElementById('customConfig').className="hideRadio"
412
+
413
+ str = 'This config is used for a source library. The library will be linked automatically to the executable.'
414
+ ddrivetip("LibraryConfig", "No","0..n","-",str)
415
+ }
416
+
417
+ function showCustomConfig() {
418
+ document.getElementById('libExe_part').className="hide"
419
+ document.getElementById('exe_part').className="hide"
420
+ document.getElementById('custom_part').className="show"
421
+ document.getElementById('executableConfig').className="hideRadio"
422
+ document.getElementById('libraryConfig').className="hideRadio"
423
+ document.getElementById('customConfig').className="showRadio"
424
+
425
+ str = 'This config is used for special projects, e.g. for Makefile projects.<br>'+
426
+ 'It is valid to leave a CustomConfig completely empty - nothing will be done in that case.'
427
+ ddrivetip("CustomConfig", "No","0..n","-",str)
428
+ }
429
+
430
+ function showExternalLibrary() {
431
+ str = 'Every config can specify libs which have to be linked to the executable.<br>'+
432
+ 'It\'s possible to add a path, e.g.:<br>'+
433
+ '<i> &nbsp; &nbsp; ExternalLibrary "xy/z/ab"</i><br>'+
434
+ 'In this case the lib "ab" is added to the linker command line as well as the lib search path "xy/z".<br>'+
435
+ 'Note, that the linker will look for "libab.a".'
436
+ ddrivetip("ExternalLibrary", "No","0..n","-",str)
437
+ }
438
+
439
+ function showExternalLibrarySearch() {
440
+ str = 'If the attribute "search: false" is specified, the lib will not be searched but linked with the full name, e.g.<br>'+
441
+ '<i> &nbsp; &nbsp; ExternalLibrary "xy/z/libpq.a", search: false</i><br>'+
442
+ 'will link "xy/z/libpq.a" to the executable.<br>'+
443
+ 'It is also possible to specify an object file when using "search: false".'
444
+ ddrivetip("search", "No","-","true",str)
445
+ }
446
+
447
+ function showUserLibrary() {
448
+ str = 'A user library will be linked <i>before</i> any other libraries or objects to the executable.<br>'+
449
+ 'It is also possible to specify an object file.<br>'+
450
+ 'The library will be searched like an ExternalLibrary, but with the full name, e.g.<br>'+
451
+ '<i> &nbsp; &nbsp; UserLibrary "xy/z/libUser.a"</i><br>'+
452
+ '<i> &nbsp; &nbsp; UserLibrary "xy/z/something.o"</i><br>'+
453
+ 'will link "libUser.a" and "something.o" before regular objects and libraries.<br>'+
454
+ '"xy/z" will be added as an ExternalLibrarySearchPath.'
455
+ ddrivetip("UserLibrary", "No","0..n","-",str)
456
+ }
457
+
458
+ function showExternalLibrarySearchPath() {
459
+ str = 'The linker looks for libraries in search paths.<br>'+
460
+ 'Search paths can be defined implicitly by ExternalLibrary/UserLibrary or explicitly by this tag.'
461
+ ddrivetip("ExternalLibrarySearchPath", "No","0..n","-",str)
462
+ }
463
+
464
+ function showPreSteps() {
465
+ str = 'PreSteps are executed before compiling files of the project.<br>'+
466
+ 'The number of steps are not limited.<br>'+
467
+ 'If a step fails, all further steps of the project will be skipped.'
468
+ ddrivetip("PreSteps", "No","0..1","-",str)
469
+ }
470
+
471
+ function showPostSteps() {
472
+ str = 'PostSteps are executed after the main task of the project, e.g. linking an executable.<br>'+
473
+ 'The number of steps are not limited.<br>'+
474
+ 'If a step fails, all further steps of the project will be skipped.'
475
+ ddrivetip("PostSteps", "No","0..1","-",str)
476
+ }
477
+
478
+ function showStartupSteps() {
479
+ str = 'StartupSteps of ALL projects are executed before building the first project.<br>'+
480
+ 'The number of steps are not limited.'
481
+ ddrivetip("StartupSteps", "No","0..1","-",str)
482
+ }
483
+
484
+ function showExitSteps() {
485
+ str = 'ExitSteps of ALL projects are executed after building complete workspace even if the build has failed.<br>'+
486
+ 'The number of steps are not limited.'
487
+ ddrivetip("ExitSteps", "No","0..1","-",str)
488
+ }
489
+
490
+ function showStepDefault() {
491
+ str = 'Specifies if a step will be executed by default.<br>'+
492
+ 'Disabling a step by default is useful if the step shall not be executed every build, e.g. special steps for releasing a software or some kind of developer test steps.'
493
+ ddrivetip("default", "No","-","on",str)
494
+ }
495
+
496
+ function showStepFilter() {
497
+ str = 'A step can be switched on or off explicitly regardless of the "default" attribute with the command line options<br>'+
498
+ '<i> &nbsp; &nbsp; --do &#60;filter name&#62;</i><br>'+
499
+ '<i> &nbsp; &nbsp; --omit &#60;filter name&#62;</i><br>'
500
+ ddrivetip("filter", "No","-","-",str)
501
+ }
502
+
503
+ function showValidExitCodes() {
504
+ str = 'Define it as an array, e.g.:<br>'+
505
+ '..., validExitCodes: [200,201,202]'
506
+ ddrivetip("validExitCodes", "No","-","[0]",str)
507
+ }
508
+
509
+
510
+ function getMakefileDesc() {
511
+ return 'Makefile to be started, e.g.:<br>'+
512
+ '<i> &nbsp; &nbsp; Makefile "subDir/makefile"</i><br>'
513
+ }
514
+
515
+ function showMakefile() {
516
+ ddrivetip("Makefile", "No","0..n","-",getMakefileDesc())
517
+ }
518
+
519
+ function showMakefileLib() {
520
+ str = 'If the result of the makefile is a library which shall be linked to the executable, name it here.'
521
+ ddrivetip("lib", "No","-","-",str)
522
+ }
523
+
524
+ function showMakefileTarget() {
525
+ str = 'The target of the makefile.'
526
+ ddrivetip("target", "No","-","all",str)
527
+ }
528
+
529
+ function showMakefilePathTo() {
530
+ str = 'Comma separated list, e.g. "common, abc, xy".<br>'+
531
+ 'The makefile can use variables like $(PATH_TO_common). This is very useful if paths to other projects are needed in the makefile.<br>'+
532
+ 'Remember that more than one workspace root can exist and a hardcoded "../common" is not reliable in that case.<br>'+
533
+ '$(PATH_TO_common) will result in the path from the parent directory of the current project to the common project without the common directory itself. '+
534
+ 'So if the current project and the common project have the same parent folder, the string will be empty.<br>'+
535
+ 'Example:<br>'+
536
+ 'makefile: c:\\workspaceroot\\yourProject\\makefile<br>'+
537
+ 'usage in makefile: gcc -I$../../$(PATH_TO_common)common/include ...<br>'+
538
+ 'It\'s done like this due to compatibility reasons.'
539
+ ddrivetip("pathTo", "No","-","-",str)
540
+ }
541
+
542
+ function showMakefileFlags() {
543
+ ddrivetip("Flags", "No","0..n","-j","Additional makefile flags.")
544
+ }
545
+
546
+ function getCommandLineDesc() {
547
+ return 'A command to execute, e.g.:<br>'+
548
+ '<i> &nbsp; &nbsp; CommandLine "ddump -Ruv -y 0xFFFFF -oRelease/application.bin Release/application.elf"</i><br>'+
549
+ '<i> &nbsp; &nbsp; CommandLine "echo Hello world!"</i><br>'
550
+ }
551
+
552
+ function showCommandLine() {
553
+ ddrivetip("CommandLine", "No","0..n","-",getCommandLineDesc())
554
+ }
555
+
556
+
557
+ function showEclipseOrder() {
558
+ str = 'If not specified or false, all files are compiled in order of appearance in Project.meta. '+
559
+ 'If the filename is a glob pattern, files are sorted alphabetically.<p>'+
560
+ 'If true, files are compiled in alphabetical order within a folder, '+
561
+ 'but the folders are sorted in reverse alphabetical order.<br>'+
562
+ 'This is only used for backward compatibility.'
563
+ ddrivetip("eclipseOrder", "No","-","false",str)
564
+ }
565
+
566
+ function showOutputDir() {
567
+ str = 'Specifies the output folder.<p>'+
568
+ 'Use always relative paths, not absolute paths due to portability.<p>'+
569
+ 'Use always "/" and not "\\".<p>'+
570
+ 'If the first part of the path is equal to a project name, it is used as a shortcut to this project root. <br>'+
571
+ 'To avoid this magic, use something like this: <br>'+
572
+ '<i> &nbsp; &nbsp; IncludeDir "./abc/include"</i><br>'
573
+ ddrivetip("outputdir", "No","0..1","-",str)
574
+ }
575
+
576
+ function showExtends() {
577
+ ddrivetip("extends", "No","0..1","-","Inherit settings from parent config(s).<br>For more information see docu page 'Derive configs'.")
578
+ }
579
+
580
+ function showFiles() {
581
+ str = 'Specifies the files to build.<br>'+
582
+ 'It\'s valid to specify a single file, e.g.<br>'+
583
+ '<i> &nbsp; &nbsp; Files "src/abc/def.asm"</i><br>'+
584
+ 'or a pattern, e.g.<br>'+
585
+ '<i> &nbsp; &nbsp; Files "*/**/.cpp"</i><br>'+
586
+ 'which builds all files with the ending ".cpp" in all subdirectories.<br>'+
587
+ 'Note: ".." is not allowed in the file path. All files must be located within the project.<br>'+
588
+ 'Note: if patterns are used, Flags and Define are ignored.'
589
+ ddrivetip("Files", "No","0..n","-",str)
590
+ }
591
+
592
+ function showExcludeFiles() {
593
+ str = 'Used to ignore files or directories.<br>'+
594
+ 'ExcludeFiles has higher priority than Files.'
595
+ ddrivetip("ExcludeFiles", "No","0..n","-",str)
596
+ }
597
+
598
+ function showIncludeDir() {
599
+ str = 'Specifies the include directories for the assembler, C and C++ compiler.<p>'+
600
+ 'Use always relative paths, not absolute paths due to portability.<p>'+
601
+ 'Use always "/" and not "\\".<p>'+
602
+ 'It is possible to work with different workspace roots. Do not include something like this: <br>'+
603
+ '<i> &nbsp; &nbsp; IncludeDir "../abc/include"</i><br>'+
604
+ 'but<br>'+
605
+ '<i> &nbsp; &nbsp; IncludeDir "abc/include"</i><br>'+
606
+ 'because it may happen, that abc does not exist in the same root as the current project. The path to abc will be calculated automatically.<p>'+
607
+ 'To include directories of the current project, the project name can be omitted like this:<br>'+
608
+ '<i> &nbsp; &nbsp; IncludeDir "include"</i><br>'+
609
+ '<i> &nbsp; &nbsp; IncludeDir "generated/include"</i><br>'
610
+ ddrivetip("IncludeDir", "No","0..n","-",str)
611
+ }
612
+
613
+ function showInherit() {
614
+ str = 'Inherits the include to all projects, which depend on this project.'
615
+ ddrivetip("inherit", "No","0..1","false",str)
616
+ }
617
+
618
+ function showInfix() {
619
+ str = 'Injects the include path to all childs, either at the front (e.g. for mocking code) or at the end.'
620
+ ddrivetip("inject", "No","0..1","-",str)
621
+ }
622
+
623
+ function showSet() {
624
+ str = 'Sets a variable for this and all dependent projects.<br>'+
625
+ 'The variable can be a simple value or the result of a cmd, e.g. \"cat myVar.txt\".'
626
+ ddrivetip("Set", "No","0..n","-",str)
627
+ }
628
+
629
+ function showEnv() {
630
+ str = 'Stores the variable also in system environment, which makes it available in everything which is executed by bake, e.g. in Pre- and PostSteps.'
631
+ ddrivetip("env", "No","-","false",str)
632
+ }
633
+
634
+ function showDependency() {
635
+ str = 'Specifies another project to be built before this project.<br>'+
636
+ 'The archive, linker libs and search paths are imported from this project to the this project automatically.<br>'+
637
+ 'If you omit the project, the current project will be used.<br>'+
638
+ 'If you omit the config name, the default config will be used.<br>'+
639
+ '<b>Examples:</b><br>'+
640
+ '&nbsp;&nbsp; <i>Dependency gtest, config: lib<br>'+
641
+ '&nbsp;&nbsp; Dependency "my/folder/proj"</i>'
642
+ ddrivetip("Dependency", "No","0..n","-",str)
643
+ }
644
+
645
+ function showDependencyConfig() {
646
+ str = 'Config name of the project to build.'
647
+ ddrivetip("config", "Yes","-","-",str)
648
+ }
649
+
650
+ function showLinkerScript() {
651
+ str = 'Specifies the name including path of the linker script.'
652
+ ddrivetip("Dependency", "No","0..1","-",str)
653
+ }
654
+
655
+ function showMapFile() {
656
+ str = 'A mapfile will be written by the linker.'
657
+ ddrivetip("MapFile", "No","0..1","If name attribute is omitted: $(OutputDir)/$(ArtifactNameBase).map",str)
658
+ }
659
+
660
+ function showArtifactName() {
661
+ str = 'The artifact name inclusive file ending.<br>'+
662
+ 'The artifact will be placed in the output directory.'
663
+ ddrivetip("ArtifactName","No","0..1","Executable: project name + toolchain dependent file ending. Library: 'lib' + project name + '.a'",str)
664
+ }
665
+
666
+ function showMakefileCustom() {
667
+ document.getElementById('makefile_part').className="showInline"
668
+ document.getElementById('commandline_part').className="hide"
669
+ document.getElementById('makefile').className="showRadio"
670
+ document.getElementById('commandline').className="hideRadio"
671
+ ddrivetip("Makefile", "No","0..1 - Either Makefile or CommandLine","-",getMakefileDesc())
672
+ }
673
+
674
+ function showCommandlineCustom() {
675
+ document.getElementById('makefile_part').className="hide"
676
+ document.getElementById('commandline_part').className="showInline"
677
+ document.getElementById('makefile').className="hideRadio"
678
+ document.getElementById('commandline').className="showRadio"
679
+ ddrivetip("CommandLine", "No","0..1 - Either Makefile or CommandLine","-",getCommandLineDesc())
680
+ }
681
+
682
+ function flagExample() {
683
+ return "<br>For removing flags use regular expressions which can be interpreted by ruby.<br>"+
684
+ "Regex options for start and stop string are automatically added in order to avoid substring matches.<br><br>"+
685
+ "Flag strings are always splitted at spaces and computed individually.<br><br>"+
686
+ "<b>Examples:</b><br>"+
687
+ "&nbsp;&nbsp; <i>Flags \"-x -y\"</i> overwrites the inherited flags<br><br>"+
688
+ "&nbsp;&nbsp; <i>Flags add: \"-x -y\"</i> adds -x and -y if not exist<br><br>"+
689
+ "&nbsp;&nbsp; <i>Flags remove: \"-x -y\"</i> removes -x and -y if exist<br><br>"+
690
+ "&nbsp;&nbsp; It is possible to combine the attributes like this:<br>"+
691
+ "&nbsp;&nbsp; <i>Flags remove: \"-x\", add: \"-y\"</i><br><br>"+
692
+ "&nbsp;&nbsp; To remove -g followed by any string, e.g. -g3, the command is:<br>"+
693
+ "&nbsp;&nbsp; <i>Flags remove: \"-g.*\"</i><br>"+
694
+ "&nbsp;&nbsp; An inherited flag string \"-abc -g3 -xy\" will end up in \"-abc -xy\"."
695
+ }
696
+
697
+
698
+ function showToolchainProject() {
699
+ str = 'Toolchain adaptions for a project.'
700
+ ddrivetip("Toolchain", "No","0..1","The DefaultToolchain settings from the main project",str)
701
+ }
702
+
703
+ function showDefaultToolchain() {
704
+ str = 'Settings which are valid for all projects and files unless they will be overwritten.<br>'+
705
+ 'The attribute "basedOn" specifies the basic toolchain configuration provided by bake, e.g. "GCC", "Diab", etc.'
706
+ ddrivetip("DefaultToolchain", "In main project","0..1","-",str)
707
+ }
708
+
709
+ function showFilesFlags() {
710
+ ddrivetip("Flags", "No","0..n","Flags from project","Flags from the project can be overwritten, extended or (partly) removed.<br>"+flagExample())
711
+ }
712
+
713
+ function showFilesDefine() {
714
+ ddrivetip("Define", "No","0..n","-","Defines which are valid only for a specific file.")
715
+ }
716
+
717
+ function showFlags() {
718
+ ddrivetip("Flags", "No","0..n","Flags from DefaultToolchain","Flags from the DefaultToolchain can be overwritten, extended or (partly) removed.<br>"+flagExample())
719
+ }
720
+
721
+ function showDefine() {
722
+ ddrivetip("Define", "No","0..n","-","Defines valid for all files in the project.")
723
+ }
724
+
725
+ function showLibPrefixFlags() {
726
+ ddrivetip("LibPrefixFlags", "No","0..n","-","Linker libs can be prefixed if needed, e.g. with \"-Wl,--whole-archive\".")
727
+ }
728
+
729
+ function showLibPostfixFlags() {
730
+ ddrivetip("LibPostfixFlags", "No","0..n","-","Linker libs can be postfixed if needed, e.g. with \"-Wl,--no-whole-archive\".")
731
+ }
732
+
733
+ function showCompiler() {
734
+ ddrivetip("Compiler", "No","0..3 (for each compiler type: ASM, CPP, C)","-","Flags and defines can be specified independently for each compiler type.")
735
+ }
736
+
737
+ function showArchiver() {
738
+ ddrivetip("Archiver", "No","0..1","-","Settings for the archiver.")
739
+ }
740
+
741
+ function showLinker() {
742
+ ddrivetip("Linker", "No","0..1","-","Makes sense only for ExecutableConfigs.")
743
+ }
744
+
745
+ function showLintPolicy() {
746
+ ddrivetip("LintPolicy", "No","0..n","-","lnt-file - but it can be used for any other command line option for Lint.")
747
+ }
748
+
749
+ function showDocu() {
750
+ ddrivetip("Docu", "No","0..1","-","Command to build the documentation. e.g.:<br>doxygen main.cfg")
751
+ }
752
+
753
+ function showDefaultFlags() {
754
+ ddrivetip("Flags", "No","0..n","-","Default flags.")
755
+ }
756
+
757
+ function showDefaultDefine() {
758
+ ddrivetip("Define", "No","0..n","-","Defines which are valid for all files.")
759
+ }
760
+
761
+ function showInternalDefines() {
762
+ ddrivetip("InternalDefines", "No","0..1","-","File with list of compiler internal defines.<br>One define per line.<br>Empty lines and comments with # are allowed.")
763
+ }
764
+
765
+ function showInternalIncludes() {
766
+ ddrivetip("InternalIncludes", "No","0..1","-","File with list of compiler internal include folders.<br>One folder per line.<br>Empty lines and comments with # are allowed.")
767
+ }
768
+
769
+ function showDefaultCompiler() {
770
+ ddrivetip("Compiler", "No","0..3 (for each compiler type: ASM, CPP, C)","-","Default compiler settings.")
771
+ }
772
+
773
+ function showDefaultArchiver() {
774
+ ddrivetip("Archiver", "No","0..1","-","Default settings for the archiver.")
775
+ }
776
+
777
+ function showDefaultLinker() {
778
+ ddrivetip("Linker", "No","0..1","-","Default settings for the linker.")
779
+ }
780
+
781
+ function showDefaultLintPolicy() {
782
+ ddrivetip("LintPolicy", "No","0..n","-","lnt-file - but it can be used for any other command line option for Lint.")
783
+ }
784
+
785
+ function showCommand() {
786
+ ddrivetip("command", "No","-","Depending on toolchain, e.g. \"gcc\"","Change command, e.g. \"$(PATH_TO_EXE)/gcc_speciale.exe\"")
787
+ }
788
+
789
+
790
+
791
+ var offsetxpoint=20 //Customize x offset of tooltip
792
+ var offsetypoint=20 //Customize y offset of tooltip
793
+ var ie=document.all
794
+ var ns6=document.getElementById && !document.all
795
+ var enabletip=false
796
+ if (ie||ns6)
797
+ var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""
798
+
799
+ function ietruebody(){
800
+ return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
801
+ }
802
+
803
+ function ddrivetip(item, manda, quan, def, desc){
804
+ if (ns6||ie){
805
+
806
+ var abc=ie&&!window.opera? ietruebody().clientWidth : window.innerWidth
807
+
808
+ tipobj.style.width=(abc/2-offsetxpoint*2).toString()+"px"
809
+ tipobj.style.backgroundColor="#DDFFDD"
810
+ tipobj.innerHTML="<b><u>"+item+"</u><br><br>Mandatory:</b> "+manda+"<br><b>Quantity</b>: "+quan+"<br><b>Default</b>: "+def+"<br><br><b>Description</b>:<br>"+desc
811
+ enabletip=true
812
+ return false
813
+ }
814
+ }
815
+
816
+ function positiontip(e){
817
+ if (enabletip){
818
+ var curX=(ns6)?e.offsetX : event.clientX+ietruebody().scrollLeft;
819
+ var curY=(ns6)?e.pageY-80 : event.clientY+ietruebody().scrollTop;
820
+ //Find out how close the mouse is to the corner of the window
821
+ var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint
822
+ var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint*2 : window.innerHeight-e.clientY-offsetypoint
823
+ var bottom=ie&&!window.opera? ietruebody().clientHeight : window.innerHeight
824
+
825
+ var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : offsetxpoint
826
+
827
+ //if the horizontal distance isn't enough to accomodate the width of the context menu
828
+ if (rightedge<tipobj.offsetWidth+offsetxpoint/2)
829
+ //move the horizontal position of the menu to the left by it's width
830
+ tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth-offsetxpoint+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth-offsetxpoint+"px"
831
+ else if (curX<leftedge)
832
+ tipobj.style.left="5px"
833
+ else
834
+ //position the horizontal position of the menu where the mouse is positioned
835
+ tipobj.style.left=curX+offsetxpoint+"px"
836
+
837
+ //same concept with the vertical position
838
+ if (bottomedge<tipobj.offsetHeight)
839
+ tipobj.style.top=ie? ietruebody().scrollTop+bottom-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+bottom-tipobj.offsetHeight-offsetypoint+"px"
840
+ else
841
+ tipobj.style.top=curY+offsetypoint+"px"
842
+ tipobj.style.visibility="visible"
843
+ }
844
+ }
845
+
846
+
847
+ function notip(){
848
+ if (ns6||ie){
849
+ enabletip=false
850
+ tipobj.style.visibility="hidden"
851
+ tipobj.style.left="-1000px"
852
+ tipobj.style.backgroundColor=''
853
+ tipobj.style.width=''
854
+ }
855
+ }
856
+
857
+ document.onmousemove=positiontip
858
+
859
+ </script>
860
+
861
+ </td></table>
862
+
863
+ </body>
864
+ </html>
865
+ <div class="admonition note">
866
+ <p class="first admonition-title">Note</p>
867
+ <p>Specify the paths always relative to the current project root, but keep the variable substitution in Project.meta in mind.</p>
868
+ <ul class="last simple">
869
+ <li>Use double quotes (&#8221;) if the strings have spaces or slashes.</li>
870
+ <li>Use hash marks (#) for comments.</li>
871
+ </ul>
872
+ </div>
873
+ </div>
874
+ </div>
875
+
876
+
877
+ </div>
878
+
879
+ </div>
880
+ </div>
881
+ <footer class="footer">
882
+ <div class="container">
883
+ <p class="pull-right">
884
+ <a href="#">Back to top</a>
885
+
886
+ </p>
887
+ <p>
888
+ &copy; Copyright 2016, E.S.R.Labs AG.<br/>
889
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
890
+ </p>
891
+ </div>
892
+ </footer>
893
+ </body>
894
894
  </html>