我已经阅读了很多关于tup build system的内容。
在许多地方,据说tup“不支持递归规则”,并且你需要每个目录有一个Tupfile。但我还没有看到官方声明或解释。
上述声明是否正确?
如果是,为什么,以及哪种任务有问题?一个例子就是很好。
答案 0 :(得分:5)
值得注意的是,目前Tupfile可以在不同的目录中创建文件。您总是可以从不同的目录中读取文件,因此目前您可以为整个项目提供一个Tupfile。
这里有更多信息:https://groups.google.com/d/msg/tup-users/h7B1YzdgCag/qsOpBs4DIQ8J(有点过时)+ https://groups.google.com/d/msg/tup-users/-w932WkPBkw/7ckmHJ9WUCEJ(使用该组作为输入的新语法)
如果您使用新的LUA解析器,您还可以使用“默认”Tupfile - 请参阅此处http://gittup.org/tup/lua_parser.html并查看有关Tupdefault.lua的信息
答案 1 :(得分:4)
有些答案已经提到,限制确实是每个目录中一个Tupfile,你需要输出文件,而不是每个目录一个Tupfile。在最近的提交中,此限制为relaxed,并且tup允许您将输出文件也放在Tupfile的子目录中。
此外,使用variants,可以在构建树中的任何位置生成输出文件。
答案 2 :(得分:1)
官方声明可以在tup手册中找到:http://gittup.org/tup/manual.html
您必须在tup层次结构中的任何位置创建名为“Tupfile”的文件 您要根据输入文件创建输出文件。该 输入文件可以是tup层次结构中的任何其他位置,但输出 文件必须与Tupfile写在同一目录中。
(报价是手册中TUPFILES部分的第1段)
AFAIK,这是一个限制,它与tup如何在.tup
子目录中存储依赖关系有关,但我不知道细节。