Chinaunix

标题: linux 驱动编译Makefile的问题 [打印本页]

作者: weiguixm    时间: 2010-02-11 16:04
标题: linux 驱动编译Makefile的问题
我写了一个驱动(hello world那种),包括:main.c lib.c lib.h
Makefile应该怎么写呢?我是这样写的:

obj-m := main.o
main.o := main.c lib.c

KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

default:
        $(MAKE) -C $(KERNELDIR) M=$(PWD) modules


但是编译时报错,貌似没找到lib.c
应该怎么写呢?
另外,哪位能给个驱动编译的Make说明文档,linux驱动编译与用户空间的Make应该有很多不同
作者: weiguixm    时间: 2010-02-11 16:13
好像发错版块了啊。。。
作者: seaquester    时间: 2010-02-11 17:25
试试这个:

MODULE_NAME:=my_driver           #这是最终生成的.ko文件名字

$(MODULE_NAME)-objs := main.o lib.o         #每个.c文件都对应一个.o
obj-m:=$(MODULE_NAME).o

KDIR := /lib/modules/$(shell uname -r)/build
PWD  := $(shell pwd)

default:
        $(MAKE) -C $(KDIR) M=$(PWD) modules

clean:
        rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions Module.symvers
        
distclean:
        rm -rf *.o *~ core .depend .*.cmd *.mod.c .tmp_versions Module.symvers




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2