![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
--------【Makefile】
文章平均质量分 66
加油11
模仿模仿再模仿!
展开
-
make和makefile
1 make和makefilemake是一个应用程序 解析源程序之间的依赖关系根据依赖关系自动维护编译工作执行宿主操作系统中的各种命令makefile是一个描述文件 定义一系列的规则来指定源文件编译的先后顺序拥有特定的语法规则,支持函数定义和函数调用能够直接集成操作系统中的各种命令make和makefile之间的关系 makefile中的描述用于指导make程序如何完成工作,ma原创 2017-07-02 08:18:18 · 431 阅读 · 0 评论 -
初识makefile的结构
1 makefile的意义makefile用于定义源文件间的依赖关系makefile说明如何编译各个源文件并生成可执行文件2 依赖的定义makefile中元素的含义targets 通常是需要生成的目标文件名make所需执行的命令名称prerequisites 当前目标所依赖的其它目标或文件command 完成目标所需要执行的命令规则中的注意事项targets可以包含多个目标原创 2017-07-03 18:52:34 · 528 阅读 · 0 评论 -
伪目标的引入
1 makefile中目标的本质思考:makefile中的目标究竟是什么?默认情况下: make认为目标对应这一个文件make比较目标文件和依赖文件新旧关系,决定是否执行命令make以文件处理作为第一优先级下面的代码有什么意义?编程实验:有趣的目标hello.out all : func.o main.o gcc -o hello.out func.o main.ofunc.o原创 2017-07-04 18:44:20 · 224 阅读 · 0 评论 -
变量和不同的赋值方式
1 变量makefile中支持程序设计语言中变量的概念makefile中的变量只代表文本数据(字符串)makefile中的变量命名规则 变量名可以包括字符、数字、下划线不能包含”:”, “#”, “=”或“ ”变量名大小写敏感变量的定义和使用编程实验:变量定义和使用CC := g++TARGET := hello-world.out$(TARGET) : func.o main.o原创 2017-07-05 09:52:27 · 567 阅读 · 0 评论 -
变量的高级主题
1 变量值的替换使用指定字符(串)替换变量值中的后缀字符(串)语法格式:$(var:a=b)或${var:a=b} 替换表达式中不能有任何的空格make中支持使用${}对变量进行取值 2 变量的模式替换使用%保留变量值中的指定字符串,替换其它字符语法格式:$(var:a%b=x%y)或$(var:a%b=x%y) 替换表达式中不能有任何的空格make中支持使用${}对变量进行取值模原创 2017-07-15 11:09:15 · 221 阅读 · 0 评论 -
条件判断语句
1 makefile中支持条件判断语句可以根据条件的值来决定make的执行可以比较两个不同变量或者变量和常量值注意事项 条件判断语句只能控制make实际执行的语句,但是不能控制规则中命令的执行过程2 条件判断语句的语法说明常用形式ifxxx (arg1,arg2)其它合法形式ifxxx “arg1” “arg2”ifxxx ‘arg1’ ‘arg2’ifxxx ‘arg1’ “arg原创 2017-07-16 08:40:39 · 433 阅读 · 0 评论 -
变量与函数的综合示例
1 实战需求自动生成target文件夹存放可执行文件自动生成objs文件夹存放编译生成的目标文件(*.o)支持调试版本的编译选项考虑代码的扩展性2 工具原料$(wildcard _pattern) 获取当前工作目录下满足_pattern的文件或目录列表$(addprefix _prefix, _names) 给名字列表_names中的每一个名字增加前缀_prefix3 关键技巧原创 2017-07-30 16:37:17 · 285 阅读 · 0 评论 -
预定义变量的使用
1 在makefile中存在一些预定义的变量自动变量@,@, ^, $<特殊变量(MAKE),(MAKE), (MAKECMDGOALS), $(MAKEFILE_LIST)(MAKEVERSION),(MAKE_VERSION), (CURDIR), $(.VARIABLES)。。。2 自动变量的意义$@当前规则中触发命令被执行的目标$^当前规则中的所有依赖$<当前规则中的第原创 2017-07-09 19:51:07 · 379 阅读 · 0 评论 -
函数定义及调用
1 makefile中支持函数的概念make解释器提供了一系列的函数供makefile调用在makefile中支持自定义函数实现,并调用执行通过define关键字实现自定义函数2 自定义函数的语法3 深入理解自定义函数自定义函数是一个多行变量,无法直接调用自定义函数是一种过程调用,没有任何的返回值自定义函数用于定义命令集合,并应用于规则中编程实验:自定义函数.PHONY : test原创 2017-07-25 06:48:01 · 370 阅读 · 0 评论