Top > SCons
*Scons [#vc0528a6] Pythonベースのビルドツール。 [[公式:http://www.scons.org/]] [[Wikipedia:SCons:http://ja.wikipedia.org/wiki/SCons]] ---- #contents **基本構文 [#mba781cc] - 引数の取得 val = ARGUMENTS.get('val') - 別のSConscriptを呼び出す SConscript(<SConscript file>, build_dir=<出力パス>) - 変数を外部SConscriptに渡す Export('<変数名>') - 変数を外部SConscriptから受け取る Import('<変数名>') **ビルドツールとしての構文 [#ob397618] ***環境 [#k8a00ea2] - コンパイル環境用の変数 env = Environment() - コンパイラ env['CXX'] = 'g++' - 環境パス env['PATH'] = os.environ['PATH'] - ライブラリパス # -L env['LIBPATH'] = ['/usr/lib/'] - インクルードパス # -I env['CPPPATH'] = ['usr/include'] - リンクするライブラリ # -l env['LIBS'] = ['stdc++'] - ビルドオプション env['CCFLAGS'] = ['-O2', '-Wall'] - リンクオプション env['LINKFLAGS'] = ['-mno-cygwin'] - 定数定義 # -D env['CPPDEFINES'] = ['NDEBUG'] ***ビルド [#he075c65] - スタティックライブラリ # オブジェクト生成 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) |