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 方法,這可以在以後的主題中介紹。