一些make/makefile中的命令含义

转载至:

  1. make/makefile中的加号+,减号-和at号@的含义 - 海王 - 博客园
  2. make命令参数和选项大汇总
  3. Linux 下的make命令与Makefile_Fythons的博客-CSDN博客_make命令
  4. Makefile的写法_小炉灶-CSDN博客_makefile怎么写

无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。

部分符号及含义:(详细的参考:make命令参数和选项大汇总

符号含义
@使命令在被执行前不被回显
-使任何命令行的任何非零退出状态都被忽略
$(< function> < arguments>)调用函数function
#注释
-f=FILE,-- file=FILE,-- makefile=FILEread file as a makefile
-t, --touchtouch target,更新所有的目标文件的时间戳到当前系统时间
-oconsider file to be very old, and don’t remake it
–help打印帮助信息

zhuanzai
图片来源:Makefile的写法_小炉灶-CSDN博客_makefile怎么写

【make中命令行前面加上减号】

就是,忽略当前此行命令执行时候所遇到的错误。

而如果不忽略,make在执行命令的时候,如果遇到error,会退出执行的,加上减号的目的,是即便此行命令执行中出错,比如删除一个不存在的文件等,那么也不要管,继续执行make。

【make中命令行前面加上at符号@】

就是,在make执行时候,输出的信息中,不要显示此行命令。

而正常情况下,make执行过程中,都是会显示其所执行的任何的命令的。如果你不想要显示某行的命令,那么就在其前面加上@符号即可。

【make中的宏定义】
(Make命令完全详解教程 - No Sadness - 博客园 https://www.cnblogs.com/nosadness/p/5136652.html
Makefile中允许使用简单的宏指代源文件及其相关编译信息,在Linux中也称宏为变量。在引用宏时只需在变量前加$符号,但值得注意的是,如果变量名的长度超过一个字符,在引用时就必须加圆括号( )。

  • 内部宏:
    $? :比目标的修改时间更晚的那些依赖模块表。
    $@ :当前目标的全路径名。可用于用户定义的目标名的相关行中。
    $< :比给定的目标文件时间标记更新的依赖文件名。
    $* :去掉后缀的当前目标名。例如,若当前目标是 pro.o,则 $*表示pro。
  • 有效的宏引用 :
    $(CFLAGS)
    $2
    $Z
    $(Z)

需要注意的是一些宏的预定义变量,在Unix系统中, ∗ 、 *、 @、 ? 和 ?和 ?<四个特殊宏的值在执行命令的过程中会发生相应的变化,而在GNU make中则定义了更多的预定义变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值