关于MFLAGS与MAKEFLAGS

MAKEFLAGS变量在递归make过程中自动传递标志和变量,允许子make接收并处理如'-s'和'-k'等选项。不过,'-C', '-f', '-o', '-W'等选项不会传递,'-j'选项的处理则与操作系统的支持有关。如果不想传递特定标志,可通过设置MAKEFLAGS或MAKEOVERRIDES来控制。同时,老版本兼容的MFLAGS变量也可用于递归调用。需要注意,某些选项如'-t', '-n', '-q'不应放入MAKEFLAGS环境变量,以免影响make行为。" 108409601,10062141,Vue中使用OSS实现图片下载,"['前端开发', 'Vue', 'JavaScript', 'canvas', '文件下载']
摘要由CSDN通过智能技术生成

与子make通讯的选项

诸如‘-s’和‘-k’标志通过变量MAKEFLAGS自动传递给子make。该变量由make自动建立,并包含make收到的标志字母。所以,如果您是用‘make –ks’变量MAKEFLAGS就得到值‘ks’。

作为结果,任一个子make都在它的运行环境中为变量MAKEFLAGS赋值;作为响应,make使用该值作为标志并进行处理,就像它们作为参数被给出一样。参阅选项概要

同样,在命令行中定义的变量也将借助变量MAKEFLAGS传递给子make。变量MAKEFLAGS值中的字可以包含‘=’,make将它们按变量定义处理,其过程和在命令行中定义的变量一样。参阅变量重载

选项`-C'`-f'`-o', 和 ‘-W’不能放入变量MAKEFLAGS中;这些选项不能向下传递。

‘-j’选项是一个特殊的例子(参阅并行执行)。如果您将它设置为一些数值‘N’,而且您的操作系统支持它(大多数Unix系统支持,其它操作系统不支持),父make和所有子make通讯保证在它们中间同时仅有‘N’个任务运行。注意,任何包含递归调用的任务(参阅代替执行命令)不能计算在总任务数内(否则,我们仅能得到‘N’个子make运行,而没有多余的时间片运行实在的工作)。

如果您的操作系统不支持上述通讯机制,那么‘-j 1’将放到变量MAKEFLAGS中代替您指定的值。这是因为如果‘-j’选项传

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值