ada-mode: Compile commands
4.1 Compile commands
====================
Here are the commands for building and using an Ada project, as listed
in the Ada menu.
In multi-file projects, there must be one file that is the main
program. That is given by the ‘main’ project file variable; it defaults
to the current file if not yet set, but is also set by the “set main and
build” command.
‘Check file’
Compiles the current file in syntax check mode, by running
‘check_cmd’ defined in the current project file. This typically
runs faster than full compile mode, speeding up finding and fixing
compilation errors.
This sets ‘main’ only if it has not been set yet.
‘Compile file’
Compiles the current file, by running ‘comp_cmd’ from the current
project file.
This does not set ‘main’.
‘Set main and Build’
Sets ‘main’ to the current file, then executes the Build command.
‘Show main’
Display ‘main’ in the message buffer.
‘Build’
Compiles all obsolete units of the current ‘main’, and links
‘main’, by running ‘make_cmd’ from the current project.
This sets ‘main’ only if it has not been set yet.
‘Run’
Executes the main program in a shell, displayed in a separate Emacs
buffer. This runs ‘run_cmd’ from the current project. The
execution buffer allows for interactive input/output.
To modify the run command, in particular to provide or change the
command line arguments, type ‘C-u’ before invoking the command.
This command is not available for a cross-compilation toolchain.
It is important when using these commands to understand how ‘main’ is
used and changed.
Build runs ’gnatmake’ on the main unit. During a typical
edit/compile session, this is the only command you need to invoke, which
is why it is bound to ‘C-c C-c’. It will compile all files needed by
the main unit, and display compilation errors in any of them.
Note that Build can be invoked from any Ada buffer; typically you
will be fixing errors in files other than the main, but you don’t have
to switch back to the main to invoke the compiler again.
Novices and students typically work on single-file Ada projects. In
this case, ‘C-c C-m’ will normally be the only command needed; it will
build the current file, rather than the last-built main.
There are three ways to change ‘main’:
1. Invoke ‘Ada | Set main and Build’, which sets ‘main’ to the current
file.
2. Invoke ‘Ada | Project | Edit’, edit ‘main’ and ‘main’, and click
‘[save]’
3. Invoke ‘Ada | Project | Load’, and load a project file that
specifies ‘main’