嵌入式驅動Makefile編寫

編寫嵌入式的Makefile有幾個地方需要注意的:

一般我們在x86下編譯驅動

1.首先編寫一個Makefile,內容如下

//////////////////////////////

obj-m    :=drv.o

drv.objs +=file1.o file2.o

/////////////////////////////

2.再執行

make -C /內核源碼路徑/ M=/驅動所在的目錄/ modules

這是編寫x86驅動一種簡單的方法

與此同理編寫arm的驅動只需要把Makefile需改一下就可以了。Makefile 應該包含有下面的內容

//////////////////////////////

ARCH=arm  //這一句很重要丟掉會出現很多問題

CC    :=arm-linux-gcc

LD    :=arm-linux-ld

obj-m    :=drv.o

drv.objs +=file1.o file2.o

/////////////////////////////

我們也可以把命令都寫到一個Makefile文件裏

簡單形式如下

x86平臺下

/////////////////////////////////////

ifneq ($(KERNELRELEASE),)
obj-m    :=drv.o

drv.objs +=file1.o file2.o
else
KERNELDIR ?= /內核源碼路徑
PWD := $(shell pwd)
default:
   $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
clean:
   rm -rf *.o *.ko

//////////////////////////////////////////
arm平臺下

/////////////////////////////////////

ifneq ($(KERNELRELEASE),)

ARCH=arm  //這一句很重要丟掉會出現很多問題

CC    :=arm-linux-gcc

LD    :=arm-linux-ld

obj-m    :=drv.o

drv.objs +=file1.o file2.o
else
KERNELDIR ?= /內核源碼路徑
PWD := $(shell pwd)
default:
   $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
clean:
   rm -rf *.o *.ko

//////////////////////////////////////////

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章