| 
 | 
 
我以前编译驱动代码都是在源码下直接修改makefile和Kconfig,总觉得非常的麻烦,很容易出错,还把源码高得乱七八糟。现在我不修改源码,希望直接编译,但是一直没有编译成功过,求原因。 
 
我的源码存放在/opt/Linuxkernel/linux-2.6.38.1 
系统版本也是2.6.38.1,我的驱动代码只是一个很简单的。 
驱动代码应该问题不大,但是这个Makefile文件出问题. 
我的Makefile如下: 
 
ifneq ($(KERNERELEASE),) 
 
obj-m   := memdev.o 
 
else 
 
KDIR    :=/opt/LinuxKernel/linux-2.6.38.1 
 
PWD     :=$(shell pwd) 
 
default: 
        $(MAKE) -C $(KDIR) M=$(PWD) modules  
 
clean: 
        rm -f *.ko *.o *.mod.o *.mod.c *.symvers 
 
endif 
 
编译的结果如下: 
 
[gong@Gong-Computer memdev]$ make 
make -C /opt/LinuxKernel/linux-2.6.38.1 M=/home/gong/program/cprogram/module/memdev modules  
make[1]: Entering directory `/opt/LinuxKernel/linux-2.6.38.1' 
  Building modules, stage 2. 
  MODPOST 0 modules 
make[1]: Leaving directory `/opt/LinuxKernel/linux-2.6.38.1' 
 
查看并没有生成一个.ko文件,具体的 愿意不清楚,换其他的内核版本都出现这个 问题,所以求讲解。谢谢. |   
 
 
 
 |