SCons run phases
Introduction#
SCons is a multi-step build system. First it reads all SConstruct and SConscript to execute Python code and create build graph with targets. Then it scans filesystem to detect which targets from the build graph should be updated, and after that it executes command to build outdated targets.
Inspecting SCons phases
scons describes running phases itself. Running it over an empty SConstruct yields this:
$ scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.To suppress phase messages, add -Q option. --tree=all allows to see dependency tree for current target that scons constructed while building.
$ scons -Q --tree=all
scons: `.' is up to date.
+-.
+-SConstruct. is default target, which means “build SConstruct in current directory”. SConstruct is then a dependency for building the default target.