问题描述
我刚刚运行了 ./config.status --recheck
,它没有考虑我对 configure
脚本所做的更改 - 即:Makefile
尚未重新生成.
这让我很困惑……那么这个脚本有什么用?它会自动检测 make
上的更改,然后重新运行 ./configure
,并从磁盘中调用和重用所有选项,但这就是它所做的 – 结果这个操作没有保存到磁盘……那I've had detected some changes to the build scripts
有什么用?
解决方法
它会自动检测 make
上的更改,然后重新运行 ./configure
,并从磁盘中调用和重用所有选项
这似乎是一个非常好的用例。
如果您修复了构建系统中的某些内容并希望重新构建,您可能希望保留上次运行时传递给 configure
的所有选项。
此操作的结果不会保存到磁盘
这不是真的。
./config.status --recheck
确实使用 configure
选项运行 --no-create
,该选项表示“不创建输出文件”,但这只是一半正确:它确实更新了 { {1}} 脚本本身。
通常您不会手动运行 config.status
,但它会由 config.status
自动调用。然后 make
通常还会调用刚刚更新的 make
(不带 config.status
标志),后者又更新您的 --recheck
。
然后它将使用更新的 Makefile
构建项目。