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)

  • 自动化变量

$@ 表示 目标

$< 依赖

 

posted @ 2016-05-25 11:48  linanwx  阅读(276)  评论(0编辑  收藏  举报