我正在尝试编译内核,但无法弄清楚其Makefile如何工作:https://github.com/LineageOS/android_kernel_sony_msm8994/blob/cm-14.1/scripts/Makefile.build
由于我在构建时遇到此错误:在C中无法构建自定义Linux / Android / LineageOS内核,因此我现在尝试了解第44行。
为什么.build
.clean
在主Makefile中有几个扩展名为etc的Makefile,而不是将这些操作作为“目标”?
我如何弄清楚第一个$(obj)
var指的是什么?
数学语法是:=
“按定义相等”而不是=
特定于开发人员吗?如果我是对的,我确实在数学笔记或符号语言(例如Wolfram / Mathematica)上看到了这一点,但从未在程序中看到过。
为什么PHONY :=
像doc中那样是变量而不是“动作类型”?应该将其写.PHONY:
在文件的最后一行。我没有这个把戏。
为什么__build
在值的前面有2个下划线PHONY
?
感谢您的精确
-p
选项运行make,它将打印makefile中所有变量的所有值。:=
makefile中的运算符用于简单扩展的变量分配。有关更多信息,请参见GNU make手册。PHONY
为包含一些内容。这只是一个普通的变量赋值,这里没有任何幻想。想必其他地方在Makefile中会出现一条线:.PHONY: $(PHONY)
与这将使所有目标中的PHONY
变量假。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句