编译USB驱动SPCA5XX,设置为m不能生成.o文件的问题.
编译USB驱动 SPCA5XX
使用linux版本为2.4.21
1.在make menuconfig后,生成的.config文件中有
CONFIG_USB_SPCA5XX=m
2.在drivers/usb目录下的makefile文件中定义为
subdir-$(CONFIG_USB_SPCA5XX) += spca5xx
ifeq ($(CONFIG_USB_SPCA5XX),y)
obj-y += spca5xx/spca5xx.o
endif
ifeq ($(CONFIG_USB_SPCA5XX),m)
obj-m += spca5xx/spca5xx.o
endif
3.在drivers/usb/spca5xx目录下的makefile文件定义为
O_TARGET := spca5xx.o #这句是什么意思
spca5xx-objs := spcadecoder.o spca_core.o
obj-$(CONFIG_USB_SPCA5XX) += spca5xx.o
#export-objs := spca5xx.o #这句有是什么意思
include $(TOPDIR)/Rules.make
spca5xx.o: $(spca5xx-objs)
$(LD) -r -o $@ $(spca5xx-objs)
为什么这样,执行make后,在spca5xx目录下不能找到.o文件,奇怪了.
然后我试着设置CONFIG_USB_SPCA5XX=y,这时候就能在spca5xx目录下找到.o文件了,为什么会这样啊.
使用linux版本为2.4.21
1.在make menuconfig后,生成的.config文件中有
CONFIG_USB_SPCA5XX=m
2.在drivers/usb目录下的makefile文件中定义为
subdir-$(CONFIG_USB_SPCA5XX) += spca5xx
ifeq ($(CONFIG_USB_SPCA5XX),y)
obj-y += spca5xx/spca5xx.o
endif
ifeq ($(CONFIG_USB_SPCA5XX),m)
obj-m += spca5xx/spca5xx.o
endif
3.在drivers/usb/spca5xx目录下的makefile文件定义为
O_TARGET := spca5xx.o #这句是什么意思
spca5xx-objs := spcadecoder.o spca_core.o
obj-$(CONFIG_USB_SPCA5XX) += spca5xx.o
#export-objs := spca5xx.o #这句有是什么意思
include $(TOPDIR)/Rules.make
spca5xx.o: $(spca5xx-objs)
$(LD) -r -o $@ $(spca5xx-objs)
为什么这样,执行make后,在spca5xx目录下不能找到.o文件,奇怪了.
然后我试着设置CONFIG_USB_SPCA5XX=y,这时候就能在spca5xx目录下找到.o文件了,为什么会这样啊.
作者: yanjinbin0 发布时间: 2011-05-06
你试试用make modules命令看看呢
作者: voice_shen 发布时间: 2011-05-06
make modules
作者: yong_f 发布时间: 2011-05-06