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)

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