目的:把uart_drv.c文件编译生成.o文件。
其中:内核源码所在目录是/home/akaedu/allword/driver/LASO.tools/src/linux-2.6.35.7/
Makefile写法
obj-m:=uart_drv.o
KDIR := /home/akaedu/allword/driver/LASO.tools/src/linux-2.6.35.7/
all:
make -C $(KDIR) SUBDIRS=$(PWD) modules
clean:略
也可以一口气写成:
all:(一部全部)
make modules \
-C /home/akaedu/allword/driver/LASO.tools/src/linux-2.6.35.7/ \
SUBDIRS=$(PWD) \
uart_dev.o
所有的都是要给linux 中的makefile传参,其实际是make -C的路径是到/home/akaedu/allword/driver/LASO.tools/src/linux-2.6.35.7/的当前目录下找到makefile ,执行的操作是make modules.
其过程是生成一个相应的.mod.c再生成一个.mod.o文件,然后.mod.o文件和.o文件一起共同生成这个.ko文件。
make 的时候会有
CC [M] /home/akaedu/drive/chardev/uart_drv.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/akaedu/drive/chardev/uart_drv.mod.o
LD [M] /home/akaedu/drive/chardev/uart_drv.ko
[]内部的M就是modules的意思。