《Linux内核修炼之道》精华分享与讨论(5)——Kernel地图:Kconfig与Makefile
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-23
SI disk support'' 22 (BLK_DEV_SD) for most USB storage devices. 23 24 To compile this driver as a module, choose M here: the 25 module will be called usb-storage. 接下来阅读Makefile文件. 0 # 1 # Makefile for the USB Mass Storage device drivers. 2 # 3 # 15 Aug 2000, Christoph Hellwig 4 # Rewritten to use lists instead of if-statements. 5 # 6 7 EXTRA_CFLAGS := -Idrivers/scsi 8 9 obj-$(CONFIG_USB_STORAGE) = usb-storage.o 10 11 usb-storage-obj-$(CONFIG_USB_STORAGE_DEBUG) = debug.o 12 usb-storage-obj-$(CONFIG_USB_STORAGE_USBAT) = shuttle_usbat.o 13 usb-storage-obj-$(CONFIG_USB_STORAGE_SDDR09) = sddr09.o 14 usb-storage-obj-$(CONFIG_USB_STORAGE_SDDR55) = sddr55.o 15 usb-storage-obj-$(CONFIG_USB_STORAGE_FREECOM) = freecom.o 16 usb-storage-obj-$(CONFIG_USB_STORAGE_DPCM) = dpcm.o 17 usb-storage-obj-$(CONFIG_USB_STORAGE_ISD200) = isd200.o 18 usb-storage-obj-$(CONFIG_USB_STORAGE_DATAFAB) = datafab.o 19 usb-storage-obj-$(CONFIG_USB_STORAGE_JUMPSHOT) = jumpshot.o 20 usb-storage-obj-$(CONFIG_USB_STORAGE_ALAUDA) = alauda.o 21 usb-storage-obj-$(CONFIG_USB_STORAGE_ONETOUCH) = onetouch.o 22 usb-storage-obj-$(CONFIG_USB_STORAGE_KARMA) = karma.o 23 24 usb-storage-objs := scsiglue.o protocol.o transport.o usb.o 25 initializers.o $(usb-storage-obj-y) 26 27 ifneq ($(CONFIG_USB_LIBUSUAL),) 28 obj-$(CONFIG_USB) = libusual.o 29 endif 前面通过Kconfig文件的分析,我们确定了只需要去关注CONFIG_USB_STORAGE选项.在Makefile文件里查找CONFIG_USB_STORAGE,从第9行得知,该选项对应的模块为usb-storage. Kconfig文件里的其他选项我们都不需要关注,Makefile的11~22行可以忽略.第24行意味着我们只需要关注scsiglue.c、protocol.c、transport.c、usb.c、initializers.c以及它们同名的.h头文件. Kconfig和Makefile很好的帮助我们定位到了所要关注的目标,就像我们到一个陌生的地方要随身携带地图,当我们学习Linux内核时,也要谨记寻求Kconfig和Makefile的帮助. |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 最近准备上linux 虚拟化的方面的学习文档下一篇: Linux程序消除相对文件路径的影响
关于《Linux内核修炼之道》精华分享与讨论(5)——Kernel地图:Kconfig与Makefile的所有评论