Scons †
Pythonベースのビルドツール。
Wikipedia:SCons
基本構文 †
ビルドツールとしての構文 †
環境 †
- コンパイル環境用の変数
env = Environment()
- コンパイラ
env['CXX'] = 'g++'
- 環境パス
env['PATH'] = os.environ['PATH']
- ライブラリパス
env['LIBPATH'] = ['/usr/lib/']
- インクルードパス
env['CPPPATH'] = ['usr/include']
- リンクするライブラリ
env['LIBS'] = ['stdc++']
- ビルドオプション
env['CCFLAGS'] = ['-O2', '-Wall']
- リンクオプション
env['LINKFLAGS'] = ['-mno-cygwin']
- 定数定義
env['CPPDEFINES'] = ['NDEBUG']
ビルド †
- スタティックライブラリ
# オブジェクト生成
object = []
for src in srcs:
obj = [build_dir + src.replace('.cpp', '.obj')];
object += env.StaticObject(obj, src)
# ライブラリ生成
env.StaticLibrary(output_filename, object)
- 実行プログラム
# オブジェクト生成
object = []
for src in srcs:
obj = build_dir + src.replace('.cpp', '.o');
object += env.Object(obj, src)
# 実行プログラム生成
env.Program(output_filename, object)