当前位置: 技术问答>linux和unix
编译USB驱动SPCA5XX,设置为m不能生成.o文件的问题.
来源: 互联网 发布时间:2016-11-27
本文导语: 编译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...
编译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文件了,为什么会这样啊.
|
你试试用make modules命令看看呢
|
make modules