• 追加された行はこの色です。
  • 削除された行はこの色です。
*Scons [#vc0528a6]
Pythonベースのビルドツール。 
[[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']
- ライブラリパス
 env['LIBPATH'] = ['/usr/lib/']
- インクルードパス
 env['CPPPATH'] = ['usr/include']
- リンクするライブラリ
 env['LIBS'] = ['stdc++']
- ビルドオプション
 env['CCFLAGS'] = ['-O2', '-Wall']
- リンクオプション
 env['LINKFLAGS'] = ['-mno-cygwin']
- 定数定義
 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)



    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS