Makefile 示例和/或模板

phu*_*ehe 3 makefile

经过一段时间make用于构建 C++ 程序后,我仍然对 Makefile 没有很好的了解。我正在考虑要求一个“好”的例子并从现在开始使用它。我一直在寻找,但我发现的那些太复杂了,我无法理解。请给我一个模板,并附上解释其工作原理的评论。

谢谢。

Che*_*evy 5

Makefile 有变得非常快的趋势,特别是在处理多个目录时。我在职业生涯中遇到的许多 Makefile 中几乎没有更多的美化 shell 脚本,其中依赖部分大多不存在。这类问题被开创性的论文递归使被认为是有害的

在那里,以及在下面的文章实现非递归 make 中,您可以找到一个合理的模板。

同样在这里这里,你可以找到人们在寻找虚幻的 Makefile(s) 模板。

通常,我所看到的好的 Makefile 是一位专家工作数月并创建了一个将 Makefile 语法转换为几乎完全不同的东西的基础设施的结果。开发人员只需要对特殊变量进行赋值,包括魔术代码,然后构建。

这种演变的下一步是使用更现代的工具,例如CMake。CMake 将为您生成格式良好的 Makefile。如果您可以控制它,请考虑使用这样的工具。

恕我直言,你会发现它更有意义,让你更有效率,为你提供跨平台的附加价值,并支持整个构建过程(包括配置、打包、持续集成等)