
make
文章平均质量分 73
wd-onlooker
1010
展开
-
Makefile $%的使用
在Makefile中,$%是一个特殊的自动化变量,主要用于处理归档成员 (archive member) 的情况,即库文件中的成员文件。它在非常具体的情况下使用,通常在处理静态库(例如.a文件)时。原创 2024-06-17 13:52:17 · 235 阅读 · 0 评论 -
Makefile依赖问题-4自动依赖
我们用简单、粗暴、无脑的方式解决头文件依赖的问题,但是这种解决方式有几个缺点;1、比较容易想到的是,正儿八经的项目头文件都是比较多的,很容易出错。2、对照缺点,好的解决方案应该是能自动就不要手动:1、通过命令自动生成源文件.c对头文件的依赖。(什么命令?2、命令生成的依赖结果能够放到Makefile中。(怎么放?3、当头文件改动后,自动确认需要重新编译的文件。(怎么自动确认?原创 2024-06-10 23:47:12 · 1816 阅读 · 0 评论 -
Makefile依赖问题-3
上述Makefile没有添加对.h的依赖,嗯。这个看$^,Makefile中的自动变量,表示依赖文件的集合。我上早八,更新了func.h,目标没更新啊,可是刚刚已经亲眼所见,依赖文件是累加的!出现问题:规则中依赖的文件更新了(prerequisites),但是目标没有更新,因此更新其中任何的依赖文件(prerequisites),都会更新目标。总结:目标是具体文件还是带有%要仔细了,最保险就是依赖文件写一行。本篇是关于依赖问题的第3集,还是写到哪儿算哪儿。这里的规则是被覆盖了!后边的规则覆盖了前边的。原创 2024-06-09 15:05:17 · 324 阅读 · 0 评论 -
Makefile 依赖问题-2
因此不是说你在vpath指定了头文件的路径,gcc就会去那个路径下找,不可能的,gcc属于recipe部分,是命令,但是make命令会因为依赖关系去相应的目录下找target: prerequisites对应的文件的。我们说编写Makefile的时候注意目标(target,目标在文件系统中是否会生成文件以及生成文件所在的位置)、依赖文件(prerequisites,确定依赖文件是否完整,以及确定这些个文件是否真的能决定目标的更新),以及这两者之间的关系。这里用的demo 1那个Makefile。原创 2024-06-09 02:16:38 · 457 阅读 · 0 评论 -
Makefile依赖问题-1
参考:https://juejin.cn/post/6844903687471497223https://www.cnblogs.com/cuckoos/articles/5049984.html这块知识有点太烦人了,顶不住,整理一下,省的到处翻了。。。预处理器将头文件中的代码直接插入源文件编译器只通过预处理后的源文件产生目标文件因此,规则中以源文件为依赖,命令可能无法执行。这里的没法执行主要是个人在写规则时,目标所依赖的文件没写全。因为目标是否更新主要看依赖和目标文件谁比较新。(在 Makefile原创 2024-06-06 18:01:47 · 623 阅读 · 0 评论