博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

人参娃娃的技术博客

碧云天,黄花地,西风紧,北雁南飞。晓来谁染霜林醉?
  ivykiki.cublog.cn

关于作者
姓名:人参娃娃
职业: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