Make命令帮助
make -h
例如make -v是其中一个常用的命令,显示make的版本。
GNU Make的特点
去除文件名中的./
支持模式匹配
使用了.PHONY
Make变量
变量
VARNAME = some-text
变量的引用
$(VARNAME)
变量的展开方式
简单展开
CC := gcc -o
CC += -o2
递归展开
CC = gcc
CC2 = $(CC) -o
make的显式规则
最好用显式规则定义所有的动作。
目标:依赖关系
当一个规则中依赖关系描述的对象存在时,就开始执行规则,生成目标。
当希望执行规则但又不产生目标时,就要采用哑目标方式声明
.PHONY : 哑目标
哑目标 :
...
匹配符 %
%.o: %.c
为所有的c文件生成相应的.o文件
规则中的固有变量
$@ 规则中的目标文件
$^ 规则中依赖关系中所有对象列表,以空格为分割符
$< 依赖关系中第一个对象
$? 依赖关系中新于目标的文件
通常 echo 在执行向标准输出输出指定内容前,会把命令本身显示在标准输出上。
@echo 表示echo命令本身并不显示在标准输出上。
make的分支语句
ifeq (v1,v2)
..
else
..
endif
ifdef v
..
else
..
endif
make的模式匹配函数wildcard
$(wildcard ) 展开(当前目录下)匹配该模式的文件列表
make的循环函数foreach
$(foreach A, B, C)
dirs = a b c d
dirlist: = $(foreach dir, $(dirs), $(wildcard $(dirs)/*))
make的控制函数
$(error TEXT...)
发生致命错误,显示TEXT...并退出执行
$(warning TEXT...)
显示TEXT...并继续执行
阅读(1257) | 评论(0) | 转发(0) |