当不带参数调用 make 时执行哪些配方?

Which recipes are executed when make is invoked with no arguments?

当调用 make 时没有任何参数时,make 如何决定执行哪些(如果有)配方?

正如@Ruslan 在评论中所写,答案是 .DEFAULT_GOAL 变量和 Makefile 中定义的第一个目标的组合。

标题有点令人困惑,因为如果没有不同地指定(例如,通过使用 .DEFAULT_GOAL 或通过将目标名称作为 make).然而,这并不一定意味着第一个 recipe 也会被执行。如果make考虑目标up-to-date,则根本不会执行任何配方。