Building FreeBASIC from source
 


FreeBASIC is built through the top-level GNUmakefile and the modular make
files in mk/. Older notes may refer to a single monolithic makefile or to
manual platform setup. The current tree is intentionally split into platform,
CPU, toolchain, feature policy, bootstrap, packaging, and install-layout
modules.

Normal local build

A typical native build starts with these commands:

(sh)
make print-config
make prereqs-fbc
make -j4

Use a job count that fits the machine. The important point is that
print-config shows what the make system thinks the host, target, compiler,
layout, and tools are before a long build starts.

The default build includes the compiler stage and the core libraries. The
library group includes the runtime library, graphics library, sound library, and
other shipped libraries used by installed FreeBASIC programs.

Build scripts

The build_scripts/ directory contains the repeatable build, package, and
smoke-test entry points used for platform work. Prefer those scripts when
building release packages or exercising a target-specific port. Direct make
commands are still useful while developing a focused compiler or runtime change.

Useful follow-up pages

::DevBuildConfig|Build configuration::
::DevRebuildAfterUpdates|Getting updates and rebuilding::
::DevFbcTestSuite|The test suite::
::DevCrossCompiling|Cross-compiling::
::DevBootstrap|Bootstrapping::