|
自己编的一个linux驱动,我原来的工程目录是这样的:工程总目录下有一个include文件夹,所有的.c源文件,makefile文件,还有一个总的x.h头文件,x.h中include了include文件夹中所有的头文件和一些内核的头文件。include文件夹里有几个子文件夹,按类放头文件。每个.c源文件都#include "x.h"。下面是原来的makefile文件。在工程总目录下make可以生成.ko文件。
KERNELDIR :=/arm/linux-2.6.22.19
PWD :=$(shell pwd)
CFLAGS =-fno-common
CROSS_COMPILE =/arm/3.4.1/bin/arm-linux-
CC =$(CROSS_COMPILE)gcc
OBJECTS :=a.o b.o c.o d.o e.o
obj-m := mydriver.o
mydriver-objs := $(OBJECTS)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
clean:
rm -rf *.o *.ko *.mod.o *.mod.c
现在工程的文件越来越多,很乱。我想建立这样的工程目录:
工程总目录下有:include文件夹,src文件夹,makefile文件。include文件夹和src文件夹下都有几个子文件夹,都按类放好头文件或源文件。x.h头文件也放在include文件夹下。
应该怎么来写makefile。怎么样在驱动模块的makefile中指定头文件、源文件的目录?是否还需要指定内核头文件的目录?
大家帮我看看!谢谢!
|
|