BBv2 Tutorial その8

結局「変数」の説明を独立させて、「ルール」のセクションも追加しました。
「カスタムコマンド」もmakeルールの使い方だけ書きました。
差分
http://www12.ocn.ne.jp/~dante98/bbv2-tutorial.html
あと、決め打ちだったパスを環境変数から取得するように変更しています。


BBv2だと環境変数にアクセスする手段が二つあるんですよね。

  1. グローバルモジュールの非局所変数(jam由来の機能)
  2. .ENVIRONモジュールの非局所変数(bjamの拡張機能)

違いは名前がPATHで終わる変数の値を「;」(Windows)や「:」(POSIX)で分割してリストにするかどうかで、.ENVIRONモジュールではそのまま、グローバルモジュールでは分割されています。
アクセス方法は、

# グローバルモジュールから取得
v1 = [ modules.peek : HOGE ] ;

# .ENVIRONモジュールから取得
v2 = [ modules.peek .ENVIRON : HOGE ] ;
v3 = [ os.environ HOGE ] ;

という感じで、os.environが一番分かりやすいのですが、一番上の方法なら(プロジェクトのJamfileでは)importせずに使える上に-sオプションで設定した値も拾えるのでどちらを使うか迷いどころです。
とりあえず今回はモジュールの説明を省くためにos.environを使っています。