内核模块编译

最近因为项目原因,将内核源码中的bonding模块拿出来进行单独的编译,写了个makefile,感觉比较通用,记录下来留作以后参考:

obj-m := bonding.o 
KERNELDIR := /lib/modules/2.6.34.10-WR4.3.0.0_standard/build 
PWD := $(shell pwd) 
bonding-objs := bond_main.o bond_3ad.o bond_alb.o bond_sysfs.o


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


modules_install: 
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install 


这个makefile也可以拿去编译其他的内核模块,一般需要修改:

obj-m:= module.o                                       \\想要生成的内核模块的名字

KERNELDIR=/lib/modules/xxxxxx/build   \\自己设备上的具体的内核树目录

module-objs:=  xxxxxx                                 \\内核模块以来的.o文件

你可能感兴趣的:(编译,makefile,linux内核)