0

我有一个项目,比如说 10 个目录(作为 tarball)。我编辑了顶层 Makefile.am 以便从构建中排除,比如 5 个目录。然后我跑了 autoreconf

(这真的是一个合法的步骤吗?毕竟,我没有 svn 存储库。我只是得到一个源 tarball)。

我现在可以配置和构建。为了分发这个略读的版本,我用make dist. 在客户端机器上,当我尝试配置(不运行 autoreconf)时,出现错误:

error: cannot find input file: <excluded directory>/Makefile.in

我不明白客户端机器知道<excluded directory>. 如果我在使用略过的 Makefile.am 创建发行版之前运行 autoreconf,是否会更新顶级 Makefile.in 以反映这些更改?

谢谢,

艾伦。

PS:对于脱脂包,make distcheck修改源失败,错误'Tcl configuration files not found'(该项目有一些Tcl/Tk)。但是make dist创建了一个焦油球。

4

1 回答 1

2

您还需要在 中查找对AC_CONFIG_FILES([ ... ])(其中 ... 是文件列表)的调用configure.ac,然后<excluded directory>/Makefile从该列表中删除。如果您不这样做,那么configure将寻找Makefile.inin<excluded directory>并尝试将其转换为Makefile,正如您所发现的那样。

于 2012-08-25T07:42:40.890 回答