![](/img/trans.png)
[英]Building an out-of-tree Linux kernel module in a separate object directory
[英]Building an out-of-tree linux kernel module with separate output directory
我想構建一個樹外內核模塊,輸出目錄與我的源目錄分開? 我該怎么做? 我願意走任何一條路。 我對內核構建系統的改動很小,我可以復制源文件(但是,如果我沒有對源文件進行任何更改,我不想重建,如果我復制,這將不起作用源文件通常),我可以設置參數或其他東西。
很多人都面臨這個問題,包括我。 支持在單獨的輸出目錄中構建外部模塊。 我修改了kbuild:
首先,在scripts/Makefile.build
和scripts/Makefile.clean
修改 src 變量
-src := $(obj)
+src := $(if $(KBUILD_EXTMOD_SRC),$(KBUILD_EXTMOD_SRC)$(patsubst $(KBUILD_EXTMOD)%,%,$(obj)),$(obj))
其次,修改scripts/Makefile.modpost
-src := $(obj)
+src := $(if $(KBUILD_EXTMOD_SRC),$(KBUILD_EXTMOD_SRC),$(obj))
# Include the module's Makefile to find KBUILD_EXTRA_SYMBOLS
-include $(if $(wildcard $(KBUILD_EXTMOD)/Kbuild), \
- $(KBUILD_EXTMOD)/Kbuild, $(KBUILD_EXTMOD)/Makefile)
+include $(if $(wildcard $(src)/Kbuild), \
+ $(src)/Kbuild, $(src)/Makefile)
然后像這樣構建外部模塊:
make -c $(kernel_src) M=$(extmod_outpu_dir) KBUILD_EXTMOD_SRC=$(extmod_src_dir) modules
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.