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.zip
。Zip
是一个 Builder - 它构建了来自多个源的第一个参数指定的目标,它按照惯例作为 Builders 的第二个参数。 ****
SCons Builders 以大写字母开头,并在 Environment 对象上运行,该对象存储构建配置。SCons 提供默认环境,但可以显式创建它以分离构建变量,选择不同的工具等。
env = Environment()
env.Zip('archive', ['SConstruct'])
请注意,当你第二次运行脚本时,它不会构建任何内容。仅当源文件更改时,SCons 才会重建目标。修改 SConstruct
并再次运行 scons
以查看差异。
SCons 旨在可扩展。你可以通过将它们附加到环境来添加自己的 Builder 方法,这可以在以后的主题中介绍。