5

我已经阅读了很多关于tup 构建系统的信息。

很多地方都说tup“不支持递归规则”,每个目录都需要一个Tupfile。然而,我还没有看到官方声明或解释。

上述说法正确吗?

如果是,为什么,这对于哪种任务有问题?一个例子会很好。

4

3 回答 3

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 的信息

于 2013-11-14T12:04:37.833 回答
4

一些答案已经提到,限制实际上是每个要输出文件的目录一个 Tupfile,而不是每个目录一个 Tupfile。在最近的提交中,此限制已放宽,tup 允许您将输出文件也放置在 Tupfile 的子目录中。

此外,使用variables,可以在构建树的任何位置生成输出文件。

于 2013-12-09T20:03:04.950 回答
1

官方声明可以在tup手册中找到:http: //gittup.org/tup/manual.html

您必须在要基于输入文件创建输出文件的 tup 层次结构中的任何位置创建一个名为“Tupfile”的文件。输入文件可以在 tup 层次结构中的任何其他位置,但输出文件必须写入与 Tupfile 相同的目录中。

(引用是手册中 TUPFILES 部分的第一段)

AFAIK,这是一个限制,它与 tup 如何在子目录中存储依赖项的方式有关,.tup但我不知道细节。

于 2013-04-10T13:45:52.177 回答