最近因为项目原因,将内核源码中的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文件