在內核makefile中有一句:
_modpost: $(if $(KBUILD_MODPOST_NOFINAL), $(modules:.ko:.o),$(modules))
\scripts\Makefile.modpost
不懂$(modules:.ko:.o),他是屬于變數的替換參考么?
但makefile的替換參考不應該是$(modules:.ko=.o)么?
uj5u.com熱心網友回復:
看社區原始patch我覺得他是寫錯了。。。uj5u.com熱心網友回復:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v5.7-rc2&id=ea837f1c050344c3f884531a195c6e339b1a54e8 本意應該是想$(modules:.ko=.o)uj5u.com熱心網友回復:
-_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
直到這個才被洗掉,語法應該是對的
uj5u.com熱心網友回復:
但他這個實際上也能正常使用,變數參考替換,這么久了都一直正常使用,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/20974.html
標籤:內核源代碼研究區
下一篇:讀者寫者問題!!
