将多个文件设置为单个任务生成器生成的源输入

Setting multiple files as source input generated by a single task generator

单个任务生成器生成多个源文件和头文件。当时生成的文件数量未知。如何将这些生成的文件设置为源输入?

我使用了文档中显示的代码,但这只描述了案例 a.a → a.b + a.c,而我的案例是 a.a → a lot of files in directory a。因此我无法使用:

b_node = node.change_ext('.b')
c_node = node.change_ext('.c')
self.create_task('idl', node, [b_node, c_node])
self.source.append(b_node)

示例显示在此处的文档中:https://waf.io/book/#_mixing_extensions_and_c_c_features

这些未知数量的文件如何用作 self.source.append(**what goes here?**)

的输入

那么你应该看看 §11.4.2:编译器生成事先未知名称的源文件。诀窍是通过重载 runnable_status()run() 方法

来管理依赖关系