Makefile
makefile
panfei263031
这个作者很懒,什么都没留下…
展开
-
加快make编译速度的另一种方法
在优化makefile之前,指定头文件查找路径的方式就是使用一个INCLUDE_PATH变量,将所有头文件的路径全部添加到这个变量中,然后make在编译每一个c文件时,都会在这个庞大的路径集合中取找当前c文件中包含的每个头文件,变量INCLUDE_PATH中的路径大约有上百个,一个c文件中包含的头文件,少则几个,多则几十个,这样找头文件找起来自然是很费时间的。想到这一点后,我们对makefile进行了优化,事先生成每个c文件包含的头文件的的路径,这个路径是gcc生成的,是绝对最简化的,没有任何多余的路径。原创 2023-10-22 11:15:38 · 654 阅读 · 0 评论 -
将git版本写入到代码中
git版本记录原创 2022-07-28 11:46:28 · 567 阅读 · 0 评论 -
Makefile中如何自动生成头文件依赖
我们在编译时,希望改了某个c文件,就只编译那一个c文件,同时,改了一个头文件时,也希望包含这个头文件的c文件也编译。对于前者,很简单,make默认就是这样做的,而对于后者,却需要我们配合gcc的一些选项来实现这个目的。要想实现头文件改动,包含了此头文件的c文件也编译,需要在Makefile中提现出c文件与头文件的依赖关系,比如func.c中包含了func.h,那么Makefile中如果有如下依赖关系,就可以实现改了func.h后,func.c也被编译:func.o:func.c func.h这样,改原创 2022-03-05 09:06:32 · 1053 阅读 · 0 评论 -
Makefile心得
执行make之后,make会在当前目录找Makefile文件,找到之后,会去此Makefile中找终极目标。make从上往下解析Makefile,找到的第一个目标就视为终极目标。Makefile中最主要的就是生成目标的规则。一条规则包含三个部分:目标和依赖,以及生成目标的命令。其他的部分都可以看做是附加部分,例如给变量赋值,使用各种Makefile的函数等等。目标可以有依赖,也可以没有依赖,依赖就是目标的冒号后面的内容,例如:$(EXE): checkdir $(objects) build中原创 2022-02-21 16:02:10 · 501 阅读 · 0 评论