我如何编写返回多个先决条件的 Rake 规则匹配扩展?

问题描述

我正在尝试使用 Rake 来链接多个与 C 文件匹配的共享库,其名称类似于 expression_tests.c

要做到这一点,我有

tests = Rake::FileList.new("*_tests.c") do |f|
  f.exclude do |f|
    `git ls-files #{f}`.empty?
  end
end

这有效并返回名称与上面示例类似的所有 Git 控制的 C 文件

要构建相应的共享库我有一个任务

task :unittests => tests.ext(".so") do
   ...

现在我正在尝试创建一个规则来描述来自“.so”对两个目标文件的依赖关系,在示例中是“expression_tests.o”(显然)还有“expression.o”。

我想要的是类似的东西

rule ".so" => [ ".o",lambda { |f| f.sub("_tests.so",".o") } ]

一个明确的文件依赖,如下所示:

file "expression_tests.so" => [ "expression_tests.o","expression.o" ] do |t|
   ...

我怎样才能把它变成规则?

我不太确定规则是否可以处理多个先决条件,尤其是对于混合扩展匹配和通用表达式。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...