Linux多原始檔Makefile模版

2021-06-16 22:58:23 字數 797 閱讀 5009

編譯核心模組時,乙個原始檔的makefile模板到處都是:

obj-m := module.o

kerneldir := /lib/modules/$(shell uname -r)/build

pwd := $(shell pwd)

default:

$(make) -c $(kerneldir) m=$(pwd) modules

clean:

rm -f *.o *.ko *.mod.c modules.* module.*

因為我不是核心工程師,所以偶爾寫個核心模組,乙個原始檔也就夠了。近日有了多檔案的需求,嘗試了多次,才整理出正確的多檔案下核心模組的makefile模板。

obj-m := module.o

module-objs += file1.o

module-objs += file2.o

module-objs += file3.o

kerneldir := /lib/modules/$(shell uname -r)/build

pwd := $(shell pwd)

default:

$(make) -c $(kerneldir) m=$(pwd) modules

clean:

rm -f *.o *.ko *.mod.c modules.* module.*

注意,file1,file2,file3不能和module重名哦。

編譯選項定義:

-c 到指定目錄下讀取makefile

m 執行當前目錄下的makefile

Linux裝置驅動初探 多原始檔Makefile

首先介紹一下 init這個標誌在驅動原始檔中的作用吧。核心中帶 的函式 核心api函式具有這種名稱的,通常都是一些介面的底層函式,應該謹慎使用。實質上,這裡的雙下劃線就是要告訴程式設計師 謹慎呼叫,否則後果自負。以 init為例,init表明該函式僅在初始化期間使用。在模組被裝載之後,模組裝載器就會...

CMake入門 多目錄多原始檔簡單布局

main.cc的內容 include include include math mathfunctions.h int main int argc,char ar double base atof ar 1 int exponent atoi ar 2 double result power bas...

gcc 多原始檔的編譯方法

如果有多個原始檔,基本上有兩種編譯方法 假設有兩個原始檔為test.c和testfun.c 1.多個檔案一起編譯 用法 gcc testfun.c test.c o test 作用 將testfun.c和test.c分別編譯後鏈結成test可執行檔案。2.分別編譯各個原始檔,之後對編譯後輸出的目標檔...