假设我已经运行./configure
和make
,但现在我想更改configure脚本中的参数。我需要在make clean
之前运行./configure
,或者即使我不这样做,一切都会好吗?
答案 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套件应该允许一个树外的构建目录。