本文描述一种将cpp文件编译为内核模块的Makefile写法,推荐仍然使用c文件编译内核模块,不然问题较多。
obj-m := x.o
x-objs := 1 2 3 4 5 6
all:
g++ -c -g 1.cpp -o 1 -mcmodel=kernel
g++ -c -g 2.cpp -o 2 -mcmodel=kernel
g++ -c -g 3.cpp -o 3 -mcmodel=kernel
g++ -g -Wwrite-strings -c 4.cpp -o 4 -mcmodel=kernel
g++ -c -g 5.cpp -o 5 -mcmodel=kernel -I /usr/src/kernels/3.17.7-200.fc20.x86_64/include/
g++ -c -g 6.cpp -o 6 -mcmodel=kernel
make -C /lib/modules/`uname -r