您的位置:首页 > 运维架构 > Linux

linux编译内核模块Makefile

2017-01-11 16:08 417 查看
现将linux下编写内核模块的Makefile记录在此,以备后用。

一、第一种写法

ifneq ($(KERNELRELEASE),)
obj-m:=hello.o
else
KERNELDIR:=/lib/modules/$(shell uname -r)/build
PWD:=$(shell pwd)
default:
$(MAKE) -C $(KERNELDIR)  M=$(PWD) modules
clean:
rm -rf *.o *.mod.c *.mod.o *.ko
endif


二、第二种写法

obj-m +=hello.o
all:
make -C /usr/src/linux-headers-`uname -r` M=`pwd` modules #编译
clean:
make -C /usr/src/linux-headers-`uname -r` M=`pwd` clean  #清理


若模块由多个目标文件组成,可以如下书写:

mymodule-objs := file1.o file2.o ...
obj-m := mymodule.o


参考文章:http://blog.chinaunix.net/uid-20729838-id-1884123.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  makefile 内核