virtual-target

virtual-targetのドキュメントを追加しました。
http://hamigaki.sourceforge.jp/doc/html/bbv2/reference/virtual-target/virtual-target.html
virtual-targetはabstract-targetクラスのgenerateメソッドが生成するものです。
abstract-targetは「fooというプログラム」とか「barというライブラリ」というレベルのものですが、virtual-targetはビルドプロパティを適用するため、「VC8でビルドしたデバッグ版foo.exe」とか「g++3.4.5でビルドしたリリース版bar.so」といったものになります。


これがvirtual-targetといわれる所以は、jamのターゲットとは別物だからです。
jamのターゲットは実ターゲットと呼ばれ、virtual-targetのactualizeメソッドで作成されます。
流れとしては、

ターゲット(Jamfileでexe/lib等で作成)
    ↓generate(ビルドプロパティを適用)
仮想ターゲット
    ↓actualize(依存関係の構築、ビルドアクションの設定)
実ターゲット

です。
jam言語としては実ターゲットの依存関係とビルドアクションの設定までで、その後のビルド作業はjam(bjam)任せです。


あと、あやふやな部分はツールセットやアクションの部分ですが、これらは後回しにして、そろそろtutorialを書こうと思います。
今回調べた箇所は普通に使う分にはあんまり関係なさそうなんで、、、。