Makefile学习

深入理解Makefile与Unix命令

1.Makefile如何获得命令行参数呢?

例如: 运行make VAR=1,即通过命令行给Makefile中的变量$(VAR)赋值为1.

2.touch的作用

touch是unix命令,用来更新文件或目录的修改时间为当前时间。

最常用用法:touch fileA
如果fileA存在,使用touch指令可更改这个文件或目录的日期时间,包括存取时间和更改时间;
如果fileA不存在,touch指令会在当前目录下新建一个空白文件fileA。

3.makefile特殊变量

命令行以'@'打头的含义: 在执行到的时候不回显相应的命令内容,只显示命令的输出。

命令行以'-'打头的含义: 在执行到的时候如果发生错误(退出返回非零状态)时,不中断make过程。

命令行以'+'打头的含义: makefile中以+开头的命令的执行不受到 make的-n,-t,-q三个参数的影响。我们知道,在make的时候,如果加上-n, -t, -q这样的参数,都是不执行相应命令的,而以'+'开头的命令,则无论make命令后面是否跟着三个参数,都会被执行

$@ : 代表规则的目标;

$^ : 代表所有通过目录搜索得到的依赖文件的完整路径名列表;

$? : 代表依赖文件列表中所有比目标新的文件;

$< : 代表所有通过目录搜索得到的依赖文件的完整路径名列表中的第一个文件;

 

$% :当规则的目标文件是一个静态库文件时,代表静态库的一个成员名。例如,规则的目标是“foo.a(bar.o)”,那么,“ $%”的值就为“bar.o”,“ $@ ”的值为“foo.a”。如果目标不是静态库文件,其值为空。

 

转载于:https://www.cnblogs.com/lybinger/p/5195100.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值