$(modules:.ko:.o)这个是什么语法的

Linux+c 2019-07-21 06:38:39
在内核makefile中有一句:
_modpost: $(if $(KBUILD_MODPOST_NOFINAL), $(modules:.ko:.o),$(modules))
\scripts\Makefile.modpost
不懂$(modules:.ko:.o),他是属于变量的替换引用么?
但makefile的替换引用不应该是$(modules:.ko=.o)么?
...全文
2468 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Linux+c 2020-06-26
  • 打赏
  • 举报
回复
引用 2 楼 MBeginner 的回复:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v5.7-rc2&id=ea837f1c050344c3f884531a195c6e339b1a54e8 本意应该是想$(modules:.ko=.o)
但他这个实际上也能正常使用,变量引用替换,这么久了都一直正常使用,
Linux+c 2020-06-25
  • 打赏
  • 举报
回复
-_modpost: $(modules) +# Stop after building .o files if NOFINAL is set. Makes compile tests quicker +_modpost: $(if $(KBUILD_MODPOST_NOFINAL), $(modules:.ko:.o),$(modules)) https://github.com/torvalds/linux/commit/9b9a3f20cbe0ba9269cde6fff9f9c69907e150cf#diff-742ab4bcbdb44545def9a3982e0ac3b0 直到这个才被删除,语法应该是对的
ashimida@ 2020-04-23
  • 打赏
  • 举报
回复
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v5.7-rc2&id=ea837f1c050344c3f884531a195c6e339b1a54e8 本意应该是想$(modules:.ko=.o)
ashimida@ 2020-04-23
  • 打赏
  • 举报
回复
看社区原始patch我觉得他是写错了。。。

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧