我有一个简单的waf项目:
$ root| - - a| - wscript | - b | - wscript` - wscript根wscript是
- wscript | - b |
def configure(conf): 通过
def build(bld): bld.recurse(‘a b’)一个wscript是
def …
指定源/目标时,相对于当前表示 wscript 文件。
wscript
$ waf configure build ... source not found: 'a.target' in bld(source='a.target, ...) ... $ tree build build/ ├── a │ └── a.target ...
知道了,修复是指参考 a.target 正确的源文件 b/wscript :
a.target
b/wscript
def build(bld): bld (rule = 'cp ${SRC} ${TGT}', source='../a/a.target', target='b.target')
该任务现在可以正确找到源文件:
$ waf build Waf: Entering directory `.../build' [1/2] Creating build/a/a.target [2/2] Compiling build/a/a.target Waf: Leaving directory `.../build' 'build' finished successfully (0.055s) $ tree build build/ ├── a │ └── a.target ├── b │ └── b.target ...