人参娃娃的技术博客
姓名:人参娃娃 职业:IT 年龄:25 位置:湖北武汉 个性介绍:探索~~~~
关于本书
目 录
第一章:概述... 12
1.1 make概述... 12
1.2 准备知识... 13
第二章: GNU make 介绍... 14
2.1 Makefile简介... 15
2.2 Makefile规则介绍... 16
2.3 简单的示例... 17
2.4 make如何工作... 19
2.5 指定变量... 21
2.6 自动推导规则... 22
2.7 另类风格的makefile. 23
2.8 清除工作目录过程文件... 24
第三章:Makefile 总述... 25
3.1 Makefile的内容... 25
3.2 makefile文件的命名... 26
3.3 包含其它makefile文件... 27
3.4 变量 MAKEFILES. 30
3.5 变量 MAKEFILE_LIST. 31
3.6 其他特殊变量... 32
3.7 makefile文件的重建... 32
3.8 重载另外一个makefile. 34
3.9 make如何解析makefile文件... 35
3.9.1 变量取值... 35
3.9.2 条件语句... 36
3.9.3 规则的定义... 36
3.10 总结... 36
第四章:Makefile的规则... 37
4.1 一个例子... 38
4.2 规则语法... 39
4.3 依赖的类型... 40
4.4 文件名使用通配符... 41
4.4.1 统配符使用举例... 42
4.4.2 通配符存在的缺陷... 43
4.4.3 函数wildcard. 43
4.5 目录搜寻... 44
4.5.1 一般搜索(变量VPATH)... 44
4.5.2 选择性搜索(关键字vpath)... 45
4.5.3 目录搜索的机制... 46
4.5.4 命令行和搜索目录... 49
4.5.5 隐含规则和搜索目录... 49
4.5.6 库文件和搜索目录... 50
4.6 Makefile伪目标... 51
4.7 强制目标(没有命令或依赖的规则)... 55
4.8 空目标文件... 56
4.9 Makefile的特殊目标... 56
4.10 多目标... 59
4.11多规则目标... 60
4.12 静态模式... 61
4.12.1 静态模式规则的语法... 61
4.12.2 静态模式和隐含规则... 64
4.13 双冒号规则... 64
4.14 自动产生依赖... 65
第五章:规则的命令... 68
5.1 命令回显... 68
5.2 命令的执行... 69
5.3 并发执行命令... 70
5.4 命令执行的错误... 72
5.5 中断make的执行... 74
5.6 make的递归执行... 74
5.6.1 变量MAKE. 75
5.6.2 变量和递归... 76
5.6.3 命令行选项和递归... 81
5.6.4 -w选项... 83
5.7 定义命令包... 83
5.8 空命令... 85
第六章:Makefile中的变量... 86
6.1 变量的引用... 87
6.2 两种变量定义(赋值)... 88
6.2.1 递归展开式变量... 89
6.2.2 直接展开式变量... 90
6.2.3 如何定义一个空格... 92
6.2.4 “?=”操作符... 92
6.3 变量的高级用法... 93
6.3.1 变量的替换引用... 93
6.3.2 变量的套嵌引用... 94
6.4 变量取值... 98
6.5 如何设置变量... 98
6.6 追加变量值... 99
6.7 override 指示符... 101
6.8 多行定义... 103
6.9 系统环境变量... 104
6.10目标指定变量... 106
6.11模式指定变量... 108
第七章:Makefile的条件执行... 109
7.1 一个例子... 109
7.2 条件判断的基本语法... 111
7.2.1 关键字“ifeq”. 111
7.2.2 关键字“ifneq”. 112
7.2.3 关键字“ifdef”. 112
7.2.4 关键字“ifndef”. 113
7.3 标记测试的条件语句... 114
第八章:make的内嵌函数... 115
8.1 函数的调用语法... 115
8.2 文本处理函数... 116
8.2.1 $(subst FROM,TO,TEXT) 116
8.2.2 $(patsubst PATTERN,REPLACEMENT,TEXT) 116
8.2.3 $(strip STRINT) 118
8.2.4 $(findstring FIND,IN) 118
8.2.5 $(filter PATTERN…,TEXT) 118
8.2.6 $(filter-out PATTERN...,TEXT) 119
8.2.7 $(sort LIST) 119
8.2.8 $(word N,TEXT) 120
8.2.9 $(wordlist S,E,TEXT) 120
8.2.10 $(words TEXT) 120
8.2.11 $(firstword NAMES…) 121
8.3 文件名处理函数... 121
8.3.1 $(dir NAMES…) 122
8.3.2 $(notdir NAMES…) 122
8.3.3 $(suffix NAMES…) 122
8.3.4 $(basename NAMES…) 123
8.3.5 $(addsuffix SUFFIX,NAMES…) 123
8.3.6 $(addprefix PREFIX,NAMES…) 124
8.3.7 $(join LIST1,LIST2) 124
8.3.8 $(wildcard PATTERN) 125
8.4 foreach 函数... 125
8.5 if 函数... 127
8.6 call函数... 127
8.7 value函数... 129
8.8 eval函数... 130
8.9 origin函数... 132
8.10shell函数... 134
8.11make的控制函数... 135
8.11.1 $(error TEXT…) 135
8.11.2 $(warning TEXT…) 136
第九章:执行make. 136