让 bjam 支持 fx 文件的编译
我们新的项目已经不再使用 VC 的 IDE ,而当初选择一个合适的 make 工具很花了一番工夫。最开始想用 makefile , 大家都用的。后来觉得很繁琐,不是很适合我们这个项目。然后选择了<a href="http://www.perforce.com/jam/jam.html">jam</a>。(当然其间也试过 Ant 等,在此不表) 花了很长一段时间熟悉 jam 的语法,和 C 也极大的不同。好不容易学会点了,同事怂恿我试试 <a href="http://www.boost.org/tools/build/v2/">bjam</a>,方知道 boost 那帮人的确 BT ,把 jam 这个小玩具的功能发挥到此般。看了人家给 jam 扩展的脚本,自己也就打消了在 jam 的基础上弄出点东西的想法,还是直接拿来用吧。
在 bjam 的基础上扩展东西,其实说容易也不容易。扩展时不用写太多,但是要弄懂 bjam 的脚本到底怎么在工作是件很苦难的事。我想 jam 的思维方式也作实和 C 差的很远,以至于大多数程序员在写 jam 脚本的时候都容易犯错误。要么 bjam (boost build) 怎么这么长时间了还不太稳定呢。
这次,我需要用一个外部工具 fxc.exe 来编译 .fx 的脚本,目标文件是 .fxo 。我想做 3d 的程序员大多用过吧。这里贴出一个 jam 脚本,如果有一天你和我一样选用 bjam 的话,可能用的上。
----fx.jam--------
import type ;
import generators ;
import scanner ;
type.register FX : fx ;
type.register FXO : fxo ;
type.set-scanner FX : c-scanner ;
generators.register-standard fx.inline-file : FX : FXO ;
actions inline-file
{
fxc /nologo /T fx_2_0 /Fo $(<) $(>)
}
----------------------
用的时候在 project-root.jam 中加上 import fx ; 即可。
Comments
Posted by: pass86 | (5) April 24, 2008 02:42 AM
Posted by: 3×7=51 | (4) July 15, 2006 12:32 PM
Posted by: hayate | (3) December 17, 2005 05:09 PM
Posted by: Felix Wong | (2) December 15, 2005 11:15 AM
Posted by: 2ndboy | (1) December 14, 2005 02:11 PM