<spanclass="application">Geany</span> has an integrated build system. When you compile,
link, syntax check or otherwise process a source file, the output will be captured
in the Compiler notebook tab of the messages window (assuming you have it visible).
If there are any warnings or errors with line numbers shown in the Compiler output tab,
you can double click on them and <spanclass="application">Geany</span> will switch to
the relevant source file (if it is open) and mark the line number so the problem
can be corrected.
</p><p>
Depending on the current file's filetype, the Build menu will contain the following
items:
</p><divclass="itemizedlist"><ultype="disc"><li><p>Compile</p></li><li><p>Build</p></li><li><p>Build with "make"</p></li><li><p>Build with make (custom target)</p></li><li><p>Execute</p></li><li><p>Set Includes and Arguments</p></li></ul></div><p>
For compilable languages such as C and C++, the Build command will link the
current source file's equivalent object file into an executable. If the object
file does not exist, the source will be compiled and linked in one step,
producing just the executable binary.
</p><p>
Interpreted languages do not use the Build command.
</p></div><divclass="section"lang="en"xml:lang="en"><divclass="titlepage"><div><div><h3class="title"><aid="id2531514"></a>Build with "make"</h3></div></div></div><p>
This effectively runs "make all" in the same directory as the current file.
The Make tool path must be correctly set in the Tools tab of the Preferences
dialog.
</p></div><divclass="section"lang="en"xml:lang="en"><divclass="titlepage"><div><div><h3class="title"><aid="id2531527"></a>Build with make (custom target)</h3></div></div></div><p>
This is identical to running 'Build with "make"' but you will be prompted
for the make target name to be passed to the Make tool. For example,
typing 'clean' in the dialog prompt will run "make clean" (but using the
Execute will run the corresponding executable file, shell script or interpreted
script in a terminal window. Note that the Terminal tool path must be correctly
set in the Tools tab of the Preferences dialog - you can use any terminal
program that runs a Bourne compatible shell.
After your program or script has finished executing, you will be prompted to
press the return key. This allows you to review any text output from the program.
</p></div><divclass="section"lang="en"xml:lang="en"><divclass="titlepage"><div><div><h3class="title"><aid="id2531560"></a>Set Includes and Arguments</h3></div></div></div><p>
By default the Compile and Build commands invoke the compiler and linker with
only the basic arguments needed by all programs.
Using Set Includes and Arguments you can add any include
paths and compile flags for the compiler, any library names and paths for the
linker, and any arguments you want to use when running Execute. Note that if
you are using the Build command to compile and link in one step, you will need
to set both the compiler arguments and the linker arguments in the linker
command setting.
</p><p>
These settings are not saved when <spanclass="application">Geany</span> is shut
down. See below for how to set permanent arguments.
</p><p>
If you need complex settings for your build system, or several different
settings, then writing a Makefile and using 'Build with "make"' is recommended.
</p></div><divclass="section"lang="en"xml:lang="en"><divclass="titlepage"><div><div><h3class="title"><aid="id2531597"></a>File type configuration settings</h3></div></div></div><p>
You can set the commands to run for compiling, building or executing
by opening the relevant <codeclass="filename">filetypes.*</code> configuration file,
and checking the build_settings section. See <ahref="ch03s08.html"title="Filetype definition files">the section called “Filetype definition files”</a> for more