今年我将有两个人用普通 C 语言编写一两个项目。为了自动化编译(此外,我想使用 Atom 的构建插件)我想要一个 Makefile。
但我不太喜欢手动指定所有命令。我宁愿指定源文件和头文件(以正确的顺序),让程序为我构建其余的。
有什么我可以使用的工具吗?或者我应该重新考虑手动编写 Makefile 吗?
make有许多隐式规则可以从 C 源文件创建目标文件,而无需您编写任何命令。您真正需要做的就是列出程序所需的目标文件。
例如,假设您必须提供源文件a.c和b.c,并且您想要创建程序p.,那么您只需要
p : a.o b.o
$(CC) $^ -o $@
Run Code Online (Sandbox Code Playgroud)
$(CC)是用于C编译器前端程序的变量,也用于链接。make为你创建这个,它通常是cc.
$^是规则的所有必要条件的列表,在本例中为a.o b.o。
$@是规则目标的名称,在本例中为p。
使用这个非常简单的 makefile,make将 C 源代码编译为目标文件,然后使用提供的规则将目标文件链接成一个可执行程序。
从上面的 makefile 可以开始定制,例如告诉make显式使用gcc而不是cc通过设置CC变量。或者通过创建和设置CFLAGS变量来设置特殊的编译器标志。将目标添加到“清理”(通常删除程序和目标文件)。还有更多。
我建议您了解makemakefile,为此您应该阅读GNU make 在线手册,然后再继续使用其他构建系统。
该GNU编译系统仍然非常普遍,但它最近一直节节败退,大多是CMake的(我个人赞成),但还有许多其他的编译系统在那里。一些(如 CMake)可用于生成 makefile,而另一些则直接替代make.
| 归档时间: |
|
| 查看次数: |
248 次 |
| 最近记录: |