GCC学习 (六)如何编写makefile
- 相等条件判断
条件判断关键字为ifeq
ifeq(条件,1) 命令1 else 命令2 endif
表示条件满足的时候运行命令1,否则命令2 被执行
- 定义条件判断
关键字ifdef ifndf
ifdef 判断 变量是否被定义过 , 若被定义过 , 是否是有值的 , 被定义过且不为空的时候 执行下面的命令
- 函数
使用方法
----
$(函数名,参数,...)
----
- 字符串函数
1. subst 字符串替换 2. patsubst 带模式的字符串替换 3. strip 去除空格 4. findstring 删除空格 5. filter 过滤内容 6. filter-out 筛出内容 7. sort 排序 8. word 取词 9. wordlist 取词列表 10. words 词数 11. firstword 首词
12. dir 提取目录
13. notdir 删除目录
14. suffix 取后缀
15. basename 取前缀
16. addsuffix 加后缀
17. addprefix 加前缀
18. join 连接
其他函数:
控制 foreach if call
上层 origin shell error warning
- 控制make
make返回值:0成功 1错误 2 在-q命令使用
- make参数
-f 指定除了makefile 、Makefile、GNUmakefile以外的文件进行make
-n 调试
- makefile 标准命令
all编译所有 clean清除缓存 install安装编译
print列出变动的文件
tar打包 dist压缩 check测试流程
- 隐含规则
.o文件默认依赖.c文件, 自动运行命令$(CC) -c $(CPPFLAGS) $(CFLAGS)
- 自动化变量
$@ 表示 目标
$< 依赖