## Bjamのオプション

### 書式

`bjam` [`options`] [`properties`] [`targets`]

`options`

  「-`x`」形式のオプションはBjamコマンドのオプションであり、「--`name`」形式のオプションはBBv2のオプションである。

`properties`

  プロパティを「`フィーチャー`=`値`」の形式で設定する。toolsetやvariantのようなimplicitフィーチャーは「`フィーチャー`=」を省略できる。また、値を複数設定する場合は「,」で区切る。

  さらに、「`プロパティA`/`プロパティB`」のようにすることで、`プロパティA`が使用される場合のみ`プロパティB`を設定するよう指定できる。

  プロパティ | 意味
  --- | ---
  gcc debug | gccでデバッグビルドを行う。
  link=static/shared | スタティックライブラリと共有ライブラリを共にビルドする。
  gcc/debug/threading=multi | gccでマルチスレッド用にデバッグビルドを行う。
  gcc/debug msvc/release | gccでデバッグビルドを、VisualC++でリリースビルドを行う。
  gcc/toolset-gcc:flavor=mingw,cygwin | MInGWとCygwinのgccでビルドする。

`targets`

  ビルドするターゲットをターゲットIDで指定する。既定ではexplicit指定されていない全てのターゲットをビルドする。

  ターゲットcleanは--cleanオプションと同じ働きを持つ。

### Bjamコマンドのオプション

-a

  全てのターゲットを再構築する。

-d `n`

  デバッグメッセージの出力レベルを`n`に設定する。

  1. 非quiet属性のアクションを表示する(既定)

  2. quiet属性のアクションとアクションのコマンド文字列を表示する

  3. ターゲットの依存関係を表示する

  4. `JAMSHELL`変数に関するメッセージを出力する

  5. Jamスクリプトの評価内容を出力する

  6. ディレクトリやヘッダファイルの走査結果を出力する

  7. 変数の設定値を出力する

  8. 変数の展開結果を出力する

  9. 字句解析の結果を出力する

  10. プロファイル情報を出力する

  11. YACC(bison)のデバッグメッセージを出力する

  12. 依存関係の有向グラフを表示する

  13. ターゲットの更新状態を表示する

-d +`n`

  出力レベル`n`のデバッグメッセージのみ出力する。

-d 0

  デバッグメッセージの出力を抑制する。

-f `jambase`

  組み込みのビルドスクリプトを使用する代わりに、`jambase`を使用する。

-j `n`

  `n`個のビルドコマンドを平行して実行する。

-l `n`

  ビルドコマンドの実行時間を`n`秒に制限する。

-n

  実際にビルドを行う代わりにビルドコマンドを表示する。

-o `file`

  ビルドコマンドを`file`に出力する。

-q

  ターゲットのビルドに失敗したら、他のターゲットのビルドを続行せずに終了する。

-s `var`=`value`

  グローバル変数`var`の値を`value`に設定する。

-t `target`

  `target`とそれに依存するターゲットを再構築する。

-v

  bjamのバージョンを出力して終了する。

### BBv2のオプション

--clean

  ターゲットをビルドする代わりに削除する。

--clean-all

  外部プロジェクトも含め、全てのターゲットを削除する。

--version

  BBv2とBjamのバージョンを表示し、終了する。

--help

  ヘルプメッセージを表示し、終了する。

--help `module-name`

  モジュール`module-name`のヘルプコメントを表示し、終了する。

--help `module-name`.`rule-name`

  ルール`module-name`.`rule-name`のヘルプコメントを表示し、終了する。

--debug-configuration

  モジュールの設定に関するデバッグメッセージを表示する。

--test-config=`file`

  `site-config.jam`と`user-config.jam`の代わりに`file`を使用する。

--site-config=`file`

  `site-config.jam`の代わりに`file`を使用する。

--user-config=`file`

  `user-config.jam`の代わりに`file`を使用する。

--toolset=`name`

  ツールセット`name`を自動設定して、ビルドに使用する。

--verbose-test

  unit-testモジュールを利用した単体テストで成功時にも標準出力/エラー出力の内容を表示する。