makefile 参数记录

makefile 参数记录

学习makefile, 记录一些参数的使用


常用参数

参数说明示例注释
-jn使用多核编译,n为使用核心数量,最多为CPU内核个数make -j2使用两个内核编译
-j自动使用CPU最大的核心数量编译make -j我的电脑为4核等效make -j4
NAME=param使用make命令行传递参数到makefilemake BUILD_DIR=build等效为在makefile中定义变量BUILD_DIR=build
-n只显示不执行makefilemake -n打印makefile所执行的命令

常用符号

类型符号作用描述
文件名通配符*匹配任意字符*.c : 所有.c结尾的文件
?匹配任意字符包含空
常用符\命令换行符
运算符=变量赋值object = fi.o 用于所赋值的对象是常量
?=为空赋值若变量没有赋值,则给它赋值,否则不赋值
:=变量赋值object := ${tmp} 用于赋值是个变量
+=追加赋值object += tmp.o 将tmp.o追加到object
自动化变量$@当前target当前目标名
$<第一个依赖名
$^所有依赖名去重target:d1 d2 则 $^=d1 d2
$+所有依赖名不去重
$?比目标新的依赖名
$*目标中%匹配的部分%.o:%.c 。有a.o目标时$*值为a
$(@D)目标的目录部分目标为tmp/test,$(@D)值为tmp
$(@F)目标的文件部分目标为tmp/test,$(@D)值为test
$(<D)依赖文件的目录部分
$(<F)依赖文件的文件部分
$(^D)所有依赖文件的目录部分去重
$(^F)所有依赖文件的文件部分去重
$(+D)所有依赖文件的目录部分不去重
$(+F)所有依赖文件的文件部分不去重
$(?D)被更新的依赖文件的目录部分
$(?F)被更新的依赖文件的文件部分
特别字符%任意匹配符类似shell的 *
@不显示执行命令command前加@后 不打印改条命令
-出错不中断command前加-,出现执行错误不中断makefile编译

参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值