SCons 入门

一旦你已经 SCons 的运行 ,创建一个文件名为 SConstruct

print('..Building World')

现在运行 scons

$ scons
scons: Reading SConscript files ...
..Building World
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.

SConstruct 是一个带有附加 SCons 功能的 Python 脚本。

Zip('archive', ['SConstruct'])

上面的脚本使用 SCons 提供的 Zip() 函数将自身打包成 archive.zipZip 是一个 Builder - 它构建了来自多个的第一个参数指定的目标,它按照惯例作为 Builders 的第二个参数。 ****

SCons Builders 以大写字母开头,并在 Environment 对象上运行,该对象存储构建配置。SCons 提供默认环境,但可以显式创建它以分离构建变量,选择不同的工具等。

env = Environment()
env.Zip('archive', ['SConstruct'])

请注意,当你第二次运行脚本时,它不会构建任何内容。仅当源文件更改时,SCons 才会重建目标。修改 SConstruct 并再次运行 scons 以查看差异。

SCons 旨在可扩展。你可以通过将它们附加到环境来添加自己的 Builder 方法,这可以在以后的主题中介绍。