scripts_basic目标对应的命令
- scripts_basic 目标对应的命令为:@make -f ./scripts/Makefile.build obj=scripts/basic
8 # Modified for U-Boot 9 prefix := tpl 10 src := $(patsubst $(prefix)/%,%,$(obj)) 11 ifeq ($(obj),$(src)) 12 prefix := spl 13 src := $(patsubst $(prefix)/%,%,$(obj)) 14 ifeq ($(obj),$(src)) 15 prefix := . 16 endif 17 endif
- 第 9 行定义了变量 prefix 值为 tpl
- 第 10 行定义了变量 src。此行代码展开后为:$(patsubst tpl/%,%, scripts/basic)。即在“scripts/basic”中查找符合“tpl/%”的部分,然后将“tpl/”取消掉,但是“scripts/basic”没有“tpl/”,所以 src= scripts/basic
patsubst 是替换函数,格式如下:
$(patsubst <pattern>,<replacement>,<text>)
此函数用于在 text 中查找符合 pattern 的部分,如果匹配的话就用 replacement 替换掉。pattenr 是可以包含通配符“%”,如果 replacement 中也包含通配符“%”,那么 replacement 中的这个“%”将是 pattern 中的那个“%”所代表的字符串。函数的返回值为替换后的字符串- 第 11 行判断
imx6ull:uboot的Makefile.build脚本分析
最新推荐文章于 2023-11-06 00:00:00 发布
本文深入分析了UBoot中的scripts_basic目标,解释了Makefile.build中的关键命令和函数,如patsubst,展示了如何编译生成scripts/basic/fixdep。同时,也介绍了%config目标的处理过程,解释了如何根据defconfig文件生成.config。
摘要由CSDN通过智能技术生成