
Makefile
简单同学
宁静致远
展开
-
Makefile学习之路——PHONY
让你的makefile更专业。 在上一个Makefile所在目录下通过touch命令创建一个clean文件,执行make clean,将发现make总是提示clean文件是最新的,而不是按我们期望的那样对项目文件进行清楚操作。make这样的行为,是因为它将clean当做文件来处理,在当前目录下找到了clean文件,而且clean目标没有任何先决条件,所以当我们要求make构建clean目标时它会认为clean文件是最新的,从而拒绝我们真正的文件清除操作。出现这种情形,是因为我们对clean目标的定义与ma原创 2020-05-22 18:20:45 · 1477 阅读 · 0 评论 -
Makefile学习之路1—基础
无论是C、C++、还是pas,首先要把源文件编译成中间代码文件,在Windows下也就是.obj文件,UNIX下是.o文件,即ObjectFile,这个动作叫做编译(compile)。然后再把大量的ObjectFile合成执行文件,这个动作叫作链接(link)。 链接时,主要是链接函数和全局变量,所以,我们可以使用这些中间目标文件(O文件或是OBJ文件)来链接我们的应用程序。链接器并不管函数所在的源文件,只管函数的中间目标文件(Object File),在大多数时候,由于源文件太多,编译...原创 2020-05-21 17:42:36 · 411 阅读 · 0 评论 -
linux Makefile PHONY作用
PHONY 目标并非实际的文件名:只是在显式请求时执行命令的名字。有两种理由需要使用PHONY 目标:避免和同名文件冲突,改善性能。 如果编写一个规则,并不产生目标文件,则其命令在每次make 该目标时都执行。例如: clean: rm *.o temp 因为"rm"命令并不产生"clean"文件,则每次执行"make clean"的时候,该命令都会执行。如果目录中出现了"clean"...原创 2019-09-05 14:43:17 · 403 阅读 · 0 评论 -
Make 命令教程
一、Make的概念 Make这个词,英语的意思是"制作"。Make命令直接用了这个意思,就是要做出某个文件。比如,要做出文件a.txt,就可以执行下面的命令。 $ make a.txt 但是,如果你真的输入这条命令,它并不会起作用。因为Make命令本身并不知道,如何做出a.txt,需要有人告诉它,如何调用其他命令完成这个目标。 比如,假设文件 a.txt 依赖于 b.txt 和 ...原创 2019-09-05 15:01:28 · 1045 阅读 · 0 评论