Linux内核程序的编译:模块化编译
內(nèi)核在編譯的時候,可以支持單獨模塊化編譯,只需要一個小小的Makefile即可搞定。
步驟如下:
1.在任意位置創(chuàng)建目錄
vim Makefile
2.在Makefile中添加如下代碼(我的kernel目錄是/opt/kernel_xilinx_v4.4):
obj-m += my_drv.oall:make -C /opt/kernel_xilinx_v4.4 SUBDIRS=$(PWD) modulesclean:make -C /opt/kernel_xilinx_v4.4 SUBDIRS=$(PWD) clean3.保存退出即可
說明:
obj-m += my_drv.o:將my_drv.c單獨編譯成對應(yīng)目標文件my_drv.ko
all:此目標沒有依賴,但是此目標對應(yīng)的命令:make -C /opt/kernel_xilinx_v4.4 SUBDIRS=$(PWD) modules 在執(zhí)行 make 或者 make all 時就執(zhí)行
make -C /opt/kernel_xilinx_v4.4:等價于先 cd?/opt/kernel_xilinx_v4.4 然后執(zhí)行 make modules
"-C":表示進入指定目錄中
PWD:獲取當前所在路徑
SUBDIRS=$(PWD):告訴內(nèi)核源碼到指定目錄去編譯內(nèi)核程序
clean:執(zhí)行 make clean 時刪除生成的目標文件
后續(xù)補充Makefile的語法規(guī)則。
轉(zhuǎn)載于:https://www.cnblogs.com/guanjian/p/9967676.html
總結(jié)
以上是生活随笔為你收集整理的Linux内核程序的编译:模块化编译的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql中使用HAVING 筛选分组后
- 下一篇: JavaSocket编程简单入门