1
我的目標是建立一個包含版本信息的庫。bjam - 如何在構建目標之前始終執行shell腳本?
我有一個腳本,只有當版本實際發生變化時纔會更新./version.cpp
。這可以防止不必要的重建。
我有一個lib目標,其中globes *.cpp
,其中包括version.cpp
。
問題是,如果我運行bjam
我可以看到它執行腳本,並更新version.cpp
,但庫不重建。
只有當我運行bjam
它再次看到version.cpp
已經改變,重建的lib
我的果醬文件:
Echo [ SHELL "./write_version.sh" ] ;
lib foo
: [ glob *.cpp ]
;
運行的bjam(兩次)的輸出:
$ bjam
Updating version.cpp
...found 119 targets...
$ bjam
...found 121 targets...
...updating 3 targets...
gcc.compile.c++ ../foo/bin/gcc-4.8/debug/link-static/version.o
gcc.archive ../foo/bin/gcc-4.8/debug/link-static/libfoo.a
...updated 3 targets...
問:
我怎樣才能得到都腳本和庫構建一起工作?