Makefile的call函数

【makefile函数】makefile 常用函数汇总 阅读详情

写了个例子来研究Makefile的call函数:

#define a multiline variable
define target 
	echo $@
	echo $@
endef

#define the target which is the first target, so default target
all:
	$(call target,all)

#define the second target, we must explicitly make it
clean:
	$(call target,clean)	

#declare that all and clean are phony targets
.PHONY: all clean

执行make或make all的结果是:

echo all
all
echo all
all


执行make clean的结果是:

echo clean
clean
echo clean	
clean

其实源代码可以这么写的:

#define a multiline variable
define target 
	echo $@
	echo $@
endef

#define the target which is the first target, so default target
all:
	$(call target)

#define the second target, we must explicitly make it
clean:
	$(call target)	

#declare that all and clean are phony targets
.PHONY: all clean

结果跟上面一样。


小结:Makefile中的第一个目标是最终目标,是make默认执行的目标,call函数会以此调用多行变量的每一个(此处是make命令,所以会被执行了)。然后$@自动化变量在make执行是会被赋值为当前的目标。

[xboard]05-Makefile解读之call函数种类 本文介绍了Makefile中的关键函数和kbuild.include中定义的实用函数。call函数用于调用自定义函数,支持参数传递和变量引用。重点解析了kbuild.include中的核心函数:filechk通过比较临时文件决定是否更新目标文件;as-option检测汇编器选项兼容性;cmd控制命令执行和输出;if_changed是Kbuild的核心重编译触发函数,仅在依赖或命令变化时执行构建。这些函数通过条件判断、临时文件处理和命令转义等机制,实现了高效的增量构建和错误处理功能。 阅读详情

相关推荐

AURIX™ TC3xx 调试口保护 secure debug

AURIX™ TC3xx 调试口保护 secure debug UCB_DBG_ORIG and UCB_DBG_COPY Content 使用Debug Password 保护调试接口设置 项目硬件接口保护方案 hexview Lock using UDE Unlockusing UDE Lock using Lauterbach Unlock using Lauterbach

2301_76563067的博客 6857

makefile 之 call

call函数是唯一一个可以创建定制化参数函数的引用函数。 支持对自定义函数的引用; 支持将一个变量定义为一个复杂的表达式,用call函数根据不同的参数对它进行展开来获取不同的结果; 函数语法: $(call VARIABLE,PARAM,PARAM,...) 函数功能: 在执行时,将它的参数"PARAM"依次赋给临时变量"$(1)","$(2)".call对参数的数目没有限制,也可以没有参数值。 最后再对VARIABLE展开后的表达式进行处理. 函数返回值: VARIABLE展开后的表达式的值 函数说明

liyucheng987的博客 2014

GB28181协议实战:5分钟搞定海康摄像头SIP注册失败问题(附Wireshark抓包分析)

本文详细解析了海康摄像头在GB28181协议下SIP注册失败的7个关键原因及解决方案,包括网络可达性、鉴权参数、NAT穿越等核心问题。通过Wireshark抓包分析,提供快速定位方法,帮助工程师高效解决SIP注册失败问题,提升实时图像联调效率。

weixin_29212867的博客 553

Makefile call函数

8.6 call函数 “ call”函数是唯一一个可以创建定制化参数函数的引用函数。使用这个函数可以 实现对用户自己定义函数引用。我们可以将一个变量定义为一个复杂的表达式,用“ call” 函数根据不同的参数对它进行展开来获得不同的结果。¾ 函数语法:$(call VARIABLE,PARAM,PARAM,...) ¾ 函数功能:在执行时,将它的参数“ PARAM”依次赋值给临时变量“ $(1)”、“ $(2)” (这些临时变量定义在“ VARIABLE”的值中,参考下边的例子)…… call 函 数

spy_007_的博客 2865

同花顺 python量化交易_开启量化第一步!同花顺iFinD数据接口免费版简易操作教程...

来源:雪球App,作者: 同花顺-iFinD,(https://xueqiu.com/6706494343/141951051)金融市场波动频繁,投资往往会夹杂非理性的情绪。而量化交易,旨在以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,辅助投资者进行理性投资。不过计算机分析存在一定的技术门槛,有没有简单易学的量化交易方式,能够...

weixin_35911805的博客 2万+

Vue2 - 最新实现接入使用天地图及卫星视图切换功能,在国家天地图上自由切换地图显示类型(卫星视图/地形视图/卫星混合/地形混合/普通视图)vue天地图切换视图显示改成卫星风格,切换地图图层完整代码

vue2,nuxt2,天地图,视图,卫星,地图类型切换,vue天地图,改成卫星视角,在线地图切换,来回切换卫星图,天地图如何实现来回切换卫星图,地形图,卫星视图,vue中使用天地图自定义样式切换地图图层,切换报错,加载出错,卫星图太卡,地图图层更换,vue安装集成天地图详细示例源码,切换地图的样式,在天地图中如何将地图的类型随意更换,提供多种视图模式用户自由点击更换,VUE引入天地图卫星版,详细教程示例源码代码,天地图切换卫星用什么api,卫星视角API方法,vue2卫星天地图,能改地图的显示方式,图层类型

🏆 前端领域优质创作者 4140

makefile中的call、eval函数

今天看Makefile 时,看到里面有call、eval,百度了一下,还是不太会。在此分享俩篇个人觉得比较好的文章。call函数是唯一一个可以用来创建新的参数化的函数。你可以写一个非常复杂的表达式,这个表达式中,你可以定义许多参数,然后你可以用call函数来向这个表达式传递参数。其语法是:(call;,;,;,;...)当make执行这个函数时,;参数中的变量,如(call ;,;...

ai_ai_you的博客 1977

Wsl/InstallDistro/Service/RegisterDistro/CreateVm/HCS/E_INVALIDARG

摘要:安装WSL2时遇到E_INVALIDARG错误(多核CPU问题),可通过创建.wslconfig配置文件解决。配置内容包括:渐进式内存回收、自动代理、模拟虚拟系统调用、限制内存为4GB和处理器核心数为4。需确保已启用虚拟机平台和Linux子系统功能。 (98字)

猿小白的博客 1047

【makefile函数】makefile 自定义函数、call 函数、eval函数

【makefile函数】makefile 自定义函数、call 函数、eval函数

challenglistic的博客 3542

6.4 直流无刷电机(BLDC):测试与性能评估

本文系统阐述了直流无刷电机(BLDC)的测试与性能评估方法,涵盖参数测量、性能测试、测试平台设计及可靠性评估。详细介绍了绕组电阻、电感和反电动势的测量原理与修正方法,以及转矩-转速特性、效率分析和动态响应测试的技术要点。通过搭建高精度测功机系统,结合自动化数据处理,实现对电机性能的全面评估。最后讨论了温升、振动、EMC等特殊测试方法,为BLDC电机的设计验证和质量控制提供了完整的技术路径。

技术工作者 442

图神经网络实战(6)——使用PyTorch构建图神经网络

图数据集通常比简单的连接集合更加丰富,因为节点和边可以具有表示分数、颜色、单词等特征。包含这些额外信息在输入数据中对于生成最佳嵌入至关重要。在本节中,我们将使用 Cora 和 Facebook Page-Page 数据集,首先将它们视为表格数据集,观察香草神经网络在节点特征上的表现如何。然后,尝试在神经网络中加入拓扑信息,实现图神经网络 (Graph Neural Networks, GNN) 架构:一个同时考虑节点特征和边的简单模型。最后,我们将比较两种架构的性能。

盼小辉丶的博客 2万+

makefile中的call函数

call函数是唯一一个可以用来创建新的参数化的函数。你可以写一个非常复杂的表达式,这个表达式中,你可以定义许多参数,然后你可以用call函数来向这个表达式传递参数。其语法是: $(call ;,;,;,;...) 当make执行这个函数时,;参数中的变量,如$(1),$(2),$(3)等,会被参数;,;,;依次取代。而;的返回值就是 call函数的返回值。例如: reverse =

rockly89的博客 2万+

CAN 通信测试工具 canutils

概述 CAN,Controller Area Network,控制器局域网,一种高可靠性的现场总线。广泛用于汽车电子、工业控制通信。 canutils 工具包内含 5 个独立的程序:canconfig、candump、canecho、cansend、cansequence。这几个程序的功能简述如下: canconfig:用于配置 CAN 总线接口的参数,主要是波特率和模式。 candump...

一个软件工程师的技术笔记 1万+

Makefile call函数说明

“ call”函数是唯一一个可以创建定制化参数函数的引用函数。使用这个函数可以实现对用户自己定义函数引用。我们可以将一个变量定义为一个复杂的表达式,用“ call”函数根据不同的参数对它进行展开来获得不同的结果。 函数语法:$(call variable,param,param,...) 函数功能:在执行时,将它的参数“ param”依次赋值给临时变量“ $(1)”、“ $(2)”call ...

qu1993的博客 8690

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Makefile学习5 - call和eval函数

Makefile call和eval函数解析

to_be_better_wen的博客 1780

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Makefile中的eval函数和call函数到底怎么用?

1,call函数的定义是什么? 语法: $(call <expression> , <parm1>, <parm2>, <parm3>,...) 作用:当make执行时 expression 这个函数时,参数中的变量,如 $(1),$(2),$(3)等。会被参数<parm1>, <parm2>, <parm3>所代替。 例如: reverser = $(1) $(2) foo ...

噗呲_DayBreak 5324

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Makefile call 等 常用的函数

在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。 一、函数的调用语法 函数调用,很像变量的使用,也是以“$”来标识的,其语法如下:     $( ) 或是     ${ } 这里,就是函数名,make支持的函数不多。是函数的参数,参数间以逗

幸福的瞬间 2508

Makefile中的origin,filter,dir,sort,call函数

origin 该函数返回参数的定义位置 $(origin V) # 常见函数返回之及其含义 "environment" # 环境变量 "command line" # 命令行 "file" # 本文件中定义 "default" # 默认变量 "undefined" # 未定义变量 "automatic" # 自动化变量 自动化变量 $@ # 目标文件 $^ # 所有的依赖文件 $&l...

Cui_Hongwei的博客 1566

makefile call()函数 eval()函数

makefile 中call()函数和eval()函数简介

qq_45519101的博客 397

linux下foreach函数,Makefile中的常用函数 - foreach、if、call、shell、value、eval

foreach循环函数foreach是Makefile中用来做循环的函数,它把可以重复利用一段脚本,但是每次又有不同的条件。它类似于Unix标准Shell(/bin/sh)中的for语句,或是C-Shell(/bin/csh)中的foreach语句。它的语法是:$(foreach var, list, text)前两个参数var和list,参数中的单词逐一取出放到参数所指定的变量中,然后再执行所...

weixin_35971708的博客 2255

makefile 初探之 《foreach & if & call函数简介》

foreach 函数 foreach 函数和别的函数非常的不一样。因为这个函数是用来做循环用的,Makefile中的 foreach 函数几乎是仿照于 Unix 标准 Shell(/bin/sh)中的 for 语句,或是 C-Shell(/bin/csh)中的 foreach 语句而构建的。 它的语法是:$(foreach &lt;var&gt;,&l...

业精于勤荒于嬉 510

Makefile(07)— 其它函数(foreach 、if、call、origin )

foreach 函数定义如下: 每一次 <text> 会返回一个字符串,循环过程中,<text> 的返所返回的每个字符串会以空格分割,最后当整个循环结束的时候,<text> 所返回的每个字符串所组成的整个字符串(以空格分隔)将会是 foreach 函数的返回值。所以 <var> 最好是一个变量名,<list> 可以是一个表达式,而 <text> 中一般会只用 <var> 这个参数来一次枚举 <list> 中的单词。示例: 执行 make 结果 foreach 中的 <var> 参数是一个临时

stephenbruce的博客 736

Makefile函数进阶:自定义函数与call、eval的实战解析

本文深入解析Makefile中自定义函数与call、eval函数的实战应用。通过详细示例展示如何定义和使用自定义函数,利用call函数实现参数化调用,以及通过eval函数动态生成Makefile规则,帮助开发者构建灵活高效的编译系统。重点讲解了eval函数在批量生成规则和条件编译中的强大功能。

i1j2k的博客 203
上一篇: Eclipse添加builder自动执行bat复制脚本
下一篇: Cocos2dx内的坐标系(Coordinate Systems In Cocos2dx)
SingingCoder
博客等级 码龄15年 9粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值