我目前对 makefile 目标如何工作感到困惑。我目前的理解,我不知道它是否正确,因为我一直在阅读的教程对我来说不是很清楚。这是我目前的理解
我把它记下来了吗?是不是比我想象的简单?
你说得或多或少是对的,但可以说得更清楚一些。关于 make 如何选择初始目标,您是正确的,当然,如果用户在 make 命令行上指定特定目标,则使用该目标而不是第一个目标。
然后 make 基本上为每个目标实现一个递归算法,其工作原理如下:
就是这样!当然,这隐藏了许多复杂的问题:特别是第 1 项(查找规则)在目标没有隐式规则的情况下可能会很复杂。还可以修改规则失败时应采取的措施等行为。
但这是基本算法!