1# 2# Makefile for the kernel USB device drivers. 3# 4 5# Subdirs. 6 7# The target object and module list name. 8 9O_TARGET := usbdrv.o 10 11# Objects that export symbols. 12 13export-objs := hcd.o usb.o ov511.o pwc-uncompress.o 14 15# Multipart objects. 16 17list-multi := usbcore.o hid.o pwc.o 18usbcore-objs := usb.o usb-debug.o hub.o 19hid-objs := hid-core.o 20pwc-objs := pwc-if.o pwc-misc.o pwc-ctrl.o pwc-uncompress.o 21auerswald-objs := auerbuf.o auerchain.o auerchar.o auermain.o 22 23# Optional parts of multipart objects. 24 25ifeq ($(CONFIG_USB_DEVICEFS),y) 26 usbcore-objs += devio.o inode.o drivers.o devices.o 27endif 28 29ifeq ($(CONFIG_USB_HIDDEV),y) 30 hid-objs += hiddev.o 31endif 32 33ifeq ($(CONFIG_USB_HIDINPUT),y) 34 hid-objs += hid-input.o 35endif 36 37ifdef CONFIG_USB_AUERISDN 38ifneq ($(CONFIG_USB_AUERISDN),n) 39 auerswald-objs += auerisdn.o auerisdn_b.o 40endif 41endif 42 43# Object file lists. 44 45obj-y := 46obj-m := 47obj-n := 48obj- := 49 50# Each configuration option enables a list of files. 51 52obj-$(CONFIG_USB) += usbcore.o 53 54# EHCI should initialize/link before the other HCDs 55ifeq ($(CONFIG_USB_EHCI_HCD),y) 56 obj-y += host/ehci-hcd.o 57endif 58 59ifneq ($(CONFIG_USB_EHCI_HCD),n) 60 usbcore-objs += hcd.o 61endif 62 63subdir-$(CONFIG_USB_EHCI_HCD) += host 64 65subdir-$(CONFIG_USB_UHCI_ALT) += host 66ifeq ($(CONFIG_USB_UHCI_ALT),y) 67 obj-y += host/uhci.o 68endif 69 70subdir-$(CONFIG_USB_UHCI) += host 71ifeq ($(CONFIG_USB_UHCI),y) 72 obj-y += host/usb-uhci.o 73endif 74 75subdir-$(CONFIG_USB_OHCI) += host 76ifeq ($(CONFIG_USB_OHCI),y) 77 obj-y += host/usb-ohci.o 78endif 79 80subdir-$(CONFIG_USB_SL811HS_ALT) += host 81subdir-$(CONFIG_USB_SL811HS) += host 82 83obj-$(CONFIG_USB_MOUSE) += usbmouse.o 84obj-$(CONFIG_USB_HID) += hid.o 85obj-$(CONFIG_USB_KBD) += usbkbd.o 86obj-$(CONFIG_USB_AIPTEK) += aiptek.o 87obj-$(CONFIG_USB_WACOM) += wacom.o 88obj-$(CONFIG_USB_KBTAB) += kbtab.o 89obj-$(CONFIG_USB_POWERMATE) += powermate.o 90 91obj-$(CONFIG_USB_SCANNER) += scanner.o 92obj-$(CONFIG_USB_ACM) += acm.o 93obj-$(CONFIG_USB_PRINTER) += printer.o 94obj-$(CONFIG_USB_AUDIO) += audio.o 95obj-$(CONFIG_USB_EMI26) += emi26.o 96obj-$(CONFIG_USB_MIDI) += usb-midi.o 97obj-$(CONFIG_USB_IBMCAM) += ibmcam.o usbvideo.o ultracam.o 98obj-$(CONFIG_USB_KONICAWC) += konicawc.o usbvideo.o 99obj-$(CONFIG_USB_PWC) += pwc.o 100obj-$(CONFIG_USB_DC2XX) += dc2xx.o 101obj-$(CONFIG_USB_MDC800) += mdc800.o 102obj-$(CONFIG_USB_USS720) += uss720.o 103obj-$(CONFIG_USB_DABUSB) += dabusb.o 104obj-$(CONFIG_USB_VICAM) += vicam.o usbvideo.o 105obj-$(CONFIG_USB_OV511) += ov511.o 106obj-$(CONFIG_USB_W9968CF) += w9968cf.o 107obj-$(CONFIG_USB_SE401) += se401.o 108obj-$(CONFIG_USB_STV680) += stv680.o 109obj-$(CONFIG_USB_PEGASUS) += pegasus.o 110obj-$(CONFIG_USB_RTL8150) += rtl8150.o 111obj-$(CONFIG_USB_CATC) += catc.o 112obj-$(CONFIG_USB_KAWETH) += kaweth.o 113obj-$(CONFIG_USB_CDCETHER) += CDCEther.o 114obj-$(CONFIG_USB_RIO500) += rio500.o 115obj-$(CONFIG_USB_TIGL) += tiglusb.o 116obj-$(CONFIG_USB_DSBR) += dsbr100.o 117obj-$(CONFIG_USB_MICROTEK) += microtek.o 118obj-$(CONFIG_USB_HPUSBSCSI) += hpusbscsi.o 119obj-$(CONFIG_USB_BLUETOOTH) += bluetooth.o 120obj-$(CONFIG_USB_USBNET) += usbnet.o 121obj-$(CONFIG_USB_AUERSWALD) += auerswald.o 122obj-$(CONFIG_USB_BRLVGER) += brlvger.o 123obj-$(CONFIG_USB_LCD) += usblcd.o 124obj-$(CONFIG_USB_SPEEDTOUCH) += speedtch.o 125 126# Object files in subdirectories 127mod-subdirs := serial host 128 129subdir-$(CONFIG_USB_SERIAL) += serial 130subdir-$(CONFIG_USB_STORAGE) += storage 131 132ifeq ($(CONFIG_USB_SERIAL),y) 133 obj-y += serial/usb-serial.o 134endif 135 136ifeq ($(CONFIG_USB_STORAGE),y) 137 obj-y += storage/storage.o 138endif 139 140include $(TOPDIR)/Rules.make 141 142# Link rules for multi-part drivers. 143 144usbcore.o: $(usbcore-objs) 145 $(LD) -r -o $@ $(usbcore-objs) 146 147hid.o: $(hid-objs) 148 $(LD) -r -o $@ $(hid-objs) 149 150pwc.o: $(pwc-objs) 151 $(LD) -r -o $@ $(pwc-objs) 152 153auerswald.o: $(auerswald-objs) 154 $(LD) -r -o $@ $(auerswald-objs) 155