我有一个项目,有10个目录(作为tarball)。我编辑了顶级Makefile.am,以便从构建中排除,比如5个目录。然后我运行了autoreconf
(这真的是合法的一步吗?毕竟,我没有svn存储库。我只是得到了一个源代码tarball)。
我现在可以配置和构建了。希望分发这个脱脂版本,我用make dist
创建了另一个tarball。在客户端计算机上,当我尝试配置(不运行autoreconf)时,我收到错误:
error: cannot find input file: <excluded directory>/Makefile.in
我不明白客户端机器知道<excluded directory>
的存在。如果我在使用skimmed Makefile.am创建分发版之前运行autoreconf,是否不会更新顶级Makefile.in以反映这些更改?
谢谢,
Elan公司。
PS:对于脱脂软件包,修改后的源代码make distcheck
失败,错误“未找到Tcl配置文件”(项目有一些Tcl / Tk)。但make dist
创造了一个焦油球。
答案 0 :(得分:2)
您还需要在AC_CONFIG_FILES([ ... ])
中查找对configure.ac
的调用(其中...是文件列表),然后从该列表中删除<excluded directory>/Makefile
。如果不这样做,则configure
会在Makefile.in
中查找<excluded directory>
并尝试将其转换为Makefile
,如您所知。