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