Waf,添加手动依赖项时遇到麻烦

时间:2013-07-04 06:09:11

标签: python waf

我在waf中有一个目标,它取决于多个其他文件。列出了一个程序 那些依赖项,我想使用它,并传递给waf。即,如果我有一个目标T,那里 是一个列出T的所有依赖项的程序。但我不清楚如何通过这个 到bld.add_manual_dependency()

作为依赖项的单个文件似乎正常工作:

bld.add_manual_dependency(bld.path.find_or_declare('T'), bld.path.find_resource('Dep1'))

但是,如果我将列表作为第二个参数传递,似乎接受,但不起作用! 我想知道如何传递多个文件(不是ant_glob(),而是由程序选择)。

1 个答案:

答案 0 :(得分:0)

这取决于您希望如何从依赖项生成目标。在最简单的情况下,您只需使用包含源和目标的构建规则:

def build(bld):
    bld(
        rule = 'cat ${SRC[0].abspath()} > ${TGT}',
        source = ['hello.txt', 'there.txt'],
        target = 'out.txt'
    )

正如您所看到的,out.txt将由cat生成:hello.txt hello.txtthere.txtcurl_setopt($ch, CURLOPT_LOW_SPEED_LIMIT, 1); // cancel cURL if below 1 byte/second curl_setopt($ch, CURLOPT_LOW_SPEED_TIME, 30); // Wait for 30 seconds 将被视为目标依赖项。在这里,我对wscript中的依赖项进行了硬编码,但您当然会将生成依赖项列表的程序称为使用它。

相关问题