This file is indexed.

/usr/share/doc/gnat-gps/html/The-Build-Menu.html is in gnat-gps-doc 5.0-16.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 2002-2010 AdaCore.

This document is free; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This document is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, see http://www.gnu.org/licenses/.

A copy of the license is included in the section entitled
"GNU General Public License". -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using the GNAT Programming Studio: The Build Menu</title>

<meta name="description" content="Using the GNAT Programming Studio: The Build Menu">
<meta name="keywords" content="Using the GNAT Programming Studio: The Build Menu">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Index-table.html#Index-table" rel="index" title="Index table">
<link href="Compilation_002fBuild.html#Compilation_002fBuild" rel="up" title="Compilation/Build">
<link href="The-Target-Configuration-Dialog.html#The-Target-Configuration-Dialog" rel="next" title="The Target Configuration Dialog">
<link href="Compilation_002fBuild.html#Compilation_002fBuild" rel="previous" title="Compilation/Build">
<style type="text/css">
<!--
   

a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
pre.smallexample {background-color:rgb(240,240,240);
                     font-family: courier new,courier,fixed;
                     font-size: 14px;
                     margin: 0px 40px 0px 40px;
                     border-width: 1px 2px 2px 1px;
                     border-top-style: dotted;
                     border-left-style: dotted;
                     border-right-style: solid;
                     border-bottom-style: solid;
                     border-color: black;}
   code             {color:black;
                     font-family: courier new,courier,fixed;
                     font-size: 14px;}
   body             {font-family: arial,helvetica,sans-serif;
                     font-size: 16px;
                     max-width: 800px;
                     text-align: justify}
   samp             {font-family: courier new,courier,fixed;
                     font-size: 14px}
                    

-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="The-Build-Menu"></a>
<div class="header">
<p>
Next: <a href="The-Target-Configuration-Dialog.html#The-Target-Configuration-Dialog" accesskey="n" rel="next">The Target Configuration Dialog</a>, Up: <a href="Compilation_002fBuild.html#Compilation_002fBuild" accesskey="u" rel="up">Compilation/Build</a> &nbsp; [<a href="Index-table.html#Index-table" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="The-Build-Menu-1"></a>
<h3 class="section">9.1 The Build Menu</h3>
<p>The build menu gives access to capabilities related to checking, parsing and
compiling files, as well as creating and running executables.
note that this menu is fully configurable via the <code>Targets</code> dialog,
so what is documented in this manual are the default menus.
</p>
<p>See <a href="The-Target-Configuration-Dialog.html#The-Target-Configuration-Dialog">The Target Configuration Dialog</a>.
</p>
<dl compact="compact">
<dt><b>Check Syntax</b></dt>
<dd><p>Check the syntax of the current source file. Display an error message in
the <i>Messages</i> window if no file is currently selected.
</p>
</dd>
<dt><b>Check Semantic</b></dt>
<dd><p>Check the semantic of the current source file. Display an error message in
the <i>Messages</i> window if no file is currently selected.
</p>
</dd>
<dt><b>Compile File</b></dt>
<dd><p>Compile the current file.
By default, will display an intermediate dialog where you can add extra
switches, or simply press <tt class="key">Enter</tt> to get the standard (or previous)
switches.
Display an error message in the <i>Messages</i> window if no file is selected.
</p>
<p>If errors or warnings occur during the compilation, the corresponding locations
will appear in the Locations View. If the corresponding Preference is set, the
source lines will be highlighted in the editors (see
<a href="The-Preferences-Dialog.html#The-Preferences-Dialog">The Preferences Dialog</a>).
To remove the highlighting on these lines, remove the files from the Locations
View using either the contextual menu (<code>Remove category</code>) or by closing
the Locations View.
</p>
</dd>
<dt><b>Project</b></dt>
<dd><dl compact="compact">
<dt><i>Build &lt;main&gt;</i></dt>
<dd><p>The menu will list of all mains defined in your project hierarchy.
   Each menu item will build the selected main.
</p>
</dd>
<dt><i>Build All</i></dt>
<dd><p>Build and link all main units defined in your project.
   If no main unit is specified in your project, build all files defined
   in your project and subprojects recursively.
   For a library project file, compile sources and recreate the library
   when needed.
</p>
</dd>
<dt><i>Compile All Sources</i></dt>
<dd><p>Compile all source files defined in the top level project.
</p>
</dd>
<dt><i>Build &lt;current file&gt;</i></dt>
<dd><p>Consider the currently selected file as a main file, and build it.
</p>
</dd>
<dt><i>Custom Build...</i></dt>
<dd><p>Display a text entry where you can enter any external command. This menu
   is very useful when you already have existing build scripts, make files,
   &hellip; and want to invoke them from GPS. If the <code>SHELL</code> environment
   variable is defined (to e.g. <code>/bin/sh</code>), then the syntax used to
   execute the command is the one for this shell. Otherwise, the command
   will be spawned directly by GPS without any shell interpretation.
</p>
</dd>
</dl>

</dd>
<dt><b>Clean</b></dt>
<dd><dl compact="compact">
<dt><i>Clean All</i></dt>
<dd><p>Remove all object files and other compilation artifacts associated to all
   projects related to the current one. It allows to restart a complete build
   from scratch.
</p>
</dd>
<dt><i>Clean Root</i></dt>
<dd><p>Remove all object files and other compilation artifacts associated to the
   root project. It does not clean objects from other related projects.
   </p></dd>
</dl>

</dd>
<dt><b>Makefile</b></dt>
<dd><p>If you have a file called <samp>Makefile</samp> in the same directory as your
project file is, or if you&rsquo;ve set the <code>makefile</code> property in the
<code>Make</code> section of the project properties (see
<a href="The-Project-Properties-Editor.html#The-Project-Properties-Editor">The Project Properties Editor</a>), this menu will be displayed, giving
access to all the targets defined in your makefile.
</p>
</dd>
<dt><b>Run</b></dt>
<dd><dl compact="compact">
<dt><i>main</i></dt>
<dd><p>For each main source file defined in your top level project, an entry
   is listed to run the executable associated with this main file.
   Running an application will first open a dialog where you can specify
   command line arguments to your application, if needed. You can also
   specify whether the application should be run within GPS (the default),
   or using an external terminal.
</p>
<p>When running an application from GPS, a new execution window is added in the
   bottom area where input and output of the application is handled. This
   window is never closed automatically, even when the application terminates,
   so that you can still have access to the application&rsquo;s output. If you
   explicitly close an execution window while an application is still running,
   a dialog window will be displayed to confirm whether the application should
   be terminated.
</p>
<p>When using an external terminal, GPS launches an external terminal
   utility that will take care of the execution and input/output of your
   application. This external utility can be configured in the preferences
   dialog (<i>External Commands-&gt;Execute command</i>).
</p>
<p>The GPS execution windows have several limitations compared to external
   terminals. In particular, they do not handle signals like <tt class="key">ctrl-z</tt>
   and <tt class="key">control-c</tt>. In general, if you are running an interactive
   application, we strongly encourage you to run in an external terminal.
</p>
<p>Similarly, the <code>Run</code> contextual menu accessible from a project
   entity contains the same entries.
</p>
</dd>
<dt><i>Custom...</i></dt>
<dd><p>Similar to the entry above, except that you can run any arbitrary executable.
   If the <code>SHELL</code> environment
   variable is defined (to e.g. <code>/bin/sh</code>), then the syntax used to
   execute the command is the one for this shell. Otherwise, the command
   will be spawned directly by GPS without any shell interpretation.
</p>
</dd>
</dl>

</dd>
<dt><b>Recompute Xref info</b></dt>
<dd><a name="index-C-2"></a>
<a name="index-C_002b_002b-3"></a>
<p>Recompute the cross-reference information for Ada, C and C++ source files.
See <a href="Support-for-Cross_002dReferences.html#Support-for-Cross_002dReferences">Support for Cross-References</a>.
</p>
</dd>
<dt><b>Load xref info in memory</b></dt>
<dd><a name="index-C-3"></a>
<a name="index-C_002b_002b-4"></a>
<p>Load all the cross-reference information in memory. This menu is generally
not needed, See <a href="Support-for-Cross_002dReferences.html#Support-for-Cross_002dReferences">Support for Cross-References</a>.
</p>
</dd>
<dt><b>Settings</b></dt>
<dd><dl compact="compact">
<dt><i>Targets</i></dt>
<dd><a name="index-Targets"></a>
<p>This opens the Target Configuration Dialog.
     See <a href="The-Target-Configuration-Dialog.html#The-Target-Configuration-Dialog">The Target Configuration Dialog</a>.
</p>
</dd>
<dt><i>Toolchains</i></dt>
<dd><a name="index-Toolchains"></a>
<p>Open a dialog allowing the configuration of GPS for working with two
     compilation toolchains. This is particulary useful when compiling a
     project with an old compiler, while wanting up-to-date functionalities
     from the associated tools (gnatmetric, gnatcheck and so on).
     See <a href="Working-with-two-compilers.html#Working-with-two-compilers">Working with two compilers</a>.
   </p></dd>
</dl>
</dd>
</dl>

<p>The <code>Tools-&gt;Interrupt</code> menu can be used to interrupt the last compilation
or run command. Once you have interrupted that last operation, you can
interrupt the previous one by selecting the same menu again.
</p>
<p>However, the easiest way to interrupt a specific operation, no matter if it was
started last or not, is to use the <code>Task Manager</code>, through the
<code>Tools-&gt;Views-&gt;Tasks</code> menu. It will show one line per running process,
and right-clicking on any of these lines gives the possibility to interrupt
that process.
</p>
<p>If your application is build through a Makefile, you should probably load
the <samp>Makefile.py</samp> startup script (see the menu <code>/Tools/Plug-ins</code>).
</p>
<hr>
<div class="header">
<p>
Next: <a href="The-Target-Configuration-Dialog.html#The-Target-Configuration-Dialog" accesskey="n" rel="next">The Target Configuration Dialog</a>, Up: <a href="Compilation_002fBuild.html#Compilation_002fBuild" accesskey="u" rel="up">Compilation/Build</a> &nbsp; [<a href="Index-table.html#Index-table" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>