我需要跑步吗#34;干净"之前./configure重新配置时?

时间:2014-05-19 08:46:41

标签: autotools

假设我已经运行./configuremake,但现在我想更改configure脚本中的参数。我需要在make clean之前运行./configure,或者即使我不这样做,一切都会好吗?

2 个答案:

答案 0 :(得分:2)

在许多情况下,如果你不运行make clean,情况可能会好起来,但你不能认为他们会这样做。

事情可能出错的示例:配置标记可能会将-D参数添加到CFLAGS变量或DEFS,而不是通过config.h定义它。后者会使您的C文件依赖于config.h,当您重新运行configure时,它会重新生成。但在前一种情况下,如果再次运行configure并更改该标志,则C文件中的#defined符号集将不同,但不会重新编译这些C文件。

答案 1 :(得分:1)

configure脚本旨在运行“out-of-tree”。例如,您可以创建子目录build并从那里运行../configure [options],这将(理想情况下)仅影响build目录。

如果您使用./configure,则应在再次运行make clean之前运行configure - 为了安全起见。否则,如果你担心副作用,正确编写的autotools套件应该允许一个树外的构建目录。