我目前正在通过一些不同的来源学习c,其中一个是学习C硬道路PDF和Cprogramming.com获得额外的功劳,它说使用全部:在Makefile中。我目前正在使用Kali Linux,vim用于我的编辑器,到目前为止,我的Makefile看起来像这样。
CFLAGS=-Wall -g
clean: "this is on the next line with a Tab in--->"
rm -f ex1
我只是想了解语法并将所有内容放在一起:以及如何添加它。它说要将我的下一个项目ex3添加到我的Makefile中的all:
和clean
,如果有人能够更好地解释这一点我会非常感激,因为我不想在不了解所有内容的情况下跳过额外的功劳。
如果你需要一个参考点,我是在LearnCTheHardWay的第三课。我刚开始用C语言使用Linux。感谢您的时间和任何答案。
答案 0 :(得分:6)
all
没有特别的意义。同样适用于clean
。
make将使用它看到的第一个目标,除非您通过命令行调用另行指定。
绝对建议阅读documentation,特别是考虑到GNU make docs编写得很好并且作为部分教程部分参考。
答案 1 :(得分:1)
我建议您只从命令行构建程序。在构建命令变得超过几行之前,这应该没问题。
在这一点上,你将(1)足够沮丧和(2)对编译过程(预处理,编译,汇编,链接,剥离)的足够了解,以了解makefile。
您可以浏览在线教程,浏览gnu make文档并在makefile中进行实验。
从那以后,您可能希望了解构建系统,例如autotools和Cmake,可能在未来几年内。
答案 2 :(得分:0)
在make文件中格式是这样的,
<tag>: <dependency1> <dependency2>....
$CC <dependency1> <dependency2>....
<dependency1>: <dependencya> <dependencyb>....
$CC -c <dependencya> <dependencyb>....
基本上对所有人来说:你已经将依赖性添加为* .o文件,对于* .o文件添加了依赖性