我正在尝试为 GCC 创建一个构建脚本(目前可以使用),但是当我只更新 GCC/binutils 时,我希望能够跳过重建所有先决条件库。我想让脚本在主构建目录中创建一个文件,其中包含要跳过的所有步骤。我将如何做到这一点(使用命令cat
并查找以查看文件中是否有步骤?)。这将允许我在需要时重建某些部件,尽管是手动的。
更新:发布的答案似乎假设我需要一个生成文件,而我发现这非常麻烦并且不想要它;构建过程由许多 cd、configure、make、make install 步骤组成,我根本不希望这些步骤出现在 makefile 中。脚本即将完成,这是我需要的最后一步......
UPDATE2:正如我在下面的评论中所说,我在 Windows 上,使用 MSYS bash 作为 shell。
谢谢!
PS:每次运行脚本时都需要执行此“跳过已完成的步骤”。
答案1
我相信,听起来您需要一份make
由我们在 GNU 的朋友制作的介绍。
Make 可以查看一堆中间文件并确定哪些文件需要重新编译。并根据其中的哪些,还找出哪些需要重建其支持文件,从而递归。
您需要通过创建 Makefile 来提前设置它,但这听起来像是您愿意做的事情。
欲了解更多信息,请查看此 URL:http://www.gnu.org/software/make/。事实上,第二点听起来比我能做的任何事情都更好地描述了它。
答案2
所以,看起来您并不是真的在问有关构建框架的问题,而是在问一个关于如何确定文本文件中是否存在某一行的具体问题?
如果你想知道该字符串是否foo
存在于文件中,那么:
if grep -q foo thefile; then
# it's there
else
# otherwise
fi
应该可以解决问题。