
Makefile
文章平均质量分 66
只爱编程的菜鸟
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第三方库的使用支持
1.当需要使用第三方库文件时,编译环境中的makefile该如何修改?1.第三方库通过函数调用的方式提供库中的功能2.库文件发布时都附带了声明库函数原型的头文件3.编译阶段使用头文件,链接阶段使用库文件2.第三方库在项目中的位置3.第三方库的编译阶段支持定义变量DIR_LIBS_INC用于指示头文件的存储位置DIR_LIBS_INC ::= (DIRPROJECT)/libs/inc使用DIRLIBSINC提示make头文件的存储位置vpath(DIR_PROJECT)/libs/inc原创 2022-03-13 12:08:06 · 534 阅读 · 0 评论 -
make中的路径搜索
1.常用的源码管理方式项目中的makefile必须能够正确的定位源文件和依赖的文件,最终编译可执行程序特殊的预定义变量VPATH:VPATH变量的值用于指示make如何查找文件不同文件夹可作为VPATH的值同时出现文件夹的名字之间需要使用分隔符进行区分例1:VPATH:= inc src(空格)例1:VPATH:= inc; src(分号)例1:VPATH:= inc: src(冒号)make对于VPATH值的处理方式:当前文件夹找不到需要的文件时,VPATH会被使用make会在VP原创 2022-03-06 22:29:42 · 641 阅读 · 0 评论 -
make的隐式规则
1.makefile中出现同名目标时依赖:所有的依赖将合并在一起,成为目标的最终依赖命令:当多处出现同一目标命令时,make发出警告所有之前定义的命令被最后定义的命令取代注意事项:当使用include关键字包含其他文件时,需要确保被包含的文件中的同名目标只有依赖,没有命令;否则,同名目标的命令将被覆盖2.什么是隐式规则mkae提供了一些常用的,例行的规则实现当相应目标的规则未提供时,make尝试使用隐式规则make所有预定义变量有哪些:$(.VARIABLES)初探隐式规则: ma原创 2022-03-05 23:54:26 · 355 阅读 · 0 评论 -
自动生成依赖关系
1.编译行为带来的缺陷预处理器将头文件中的代码直接插入源文件编译器只通过预处理后的源文件产生目标文件因此,规则中以源文件为依赖,命令可能无法执行实现想法:通过命令自动生成对文件的依赖将生成的依赖自动包含进makefile中当头文件改动后,自动确认需要重新编译的文件预备工作:Linux命令sed编译器依赖生成选项gcc -MM(gcc -M)linux中的sed命令:sed是一个流编辑器,用于流文本的修改(曾、删、改、查)sed用于流文本中的字符串替换sed的字符串替换方式为:se原创 2022-02-27 22:42:43 · 429 阅读 · 0 评论 -
makefile条件判断语句和函数
1.makefile中支持条件判断语句可以根据条件的值来决定make的执行可以比较两个不同变量或者变量和常量值ifxxx(arg1,arg2)elseendif注意事项:条件判断语句只能用于控制make实际执行的语句;但是,不能控制规则中命令的执行过程。工程经验:条件判断语句之前可以有空格,但不能有Tab字符(’\t’)在条件语句中不要使用自动变量($@, $^, $<)一条完整的条件语句必须位于同一个makefile中条件判断类似C语言中的宏,预处理阶段有效,执行阶段无原创 2022-02-02 21:23:41 · 2676 阅读 · 0 评论 -
makefile简介
1.make是一个应用程序解析源程序之间的依赖关系根据依赖关系自动维护编译工作执行宿主操作系统中的各种命令2.makefile是一个描述文件定义一系列的规则来指定源文件编译的先后顺序拥有特定的语法规则,支持函数定义和函数调用能够直接集成操作系统中的各种命令3.make和makefile之间的关系makefile中的描述用于指导make程序如何完成工作;make根据makefile中的规则执行明林,最后完成编译输出最简单的makefile示例:hello://目标 echo "hell原创 2022-01-31 15:37:47 · 1207 阅读 · 0 评论