2 # Makefile for the kernel USB device drivers.
7 # The target object and module list name.
11 # Objects that export symbols.
13 export-objs := hcd.o usb.o ov511.o pwc-uncompress.o
17 list-multi := usbcore.o hid.o pwc.o
18 usbcore-objs := usb.o usb-debug.o hub.o
19 hid-objs := hid-core.o
20 pwc-objs := pwc-if.o pwc-misc.o pwc-ctrl.o pwc-uncompress.o
21 auerswald-objs := auerbuf.o auerchain.o auerchar.o auermain.o
23 # Optional parts of multipart objects.
25 ifeq ($(CONFIG_USB_DEVICEFS),y)
26 usbcore-objs += devio.o inode.o drivers.o devices.o
29 ifeq ($(CONFIG_USB_HIDDEV),y)
33 ifeq ($(CONFIG_USB_HIDINPUT),y)
34 hid-objs += hid-input.o
37 ifdef CONFIG_USB_AUERISDN
38 ifneq ($(CONFIG_USB_AUERISDN),n)
39 auerswald-objs += auerisdn.o auerisdn_b.o
50 # Each configuration option enables a list of files.
52 obj-$(CONFIG_USB) += usbcore.o
54 # EHCI should initialize/link before the other HCDs
55 ifeq ($(CONFIG_USB_EHCI_HCD),y)
56 obj-y += host/ehci-hcd.o
59 ifneq ($(CONFIG_USB_EHCI_HCD),n)
63 subdir-$(CONFIG_USB_EHCI_HCD) += host
65 subdir-$(CONFIG_USB_UHCI_ALT) += host
66 ifeq ($(CONFIG_USB_UHCI_ALT),y)
70 subdir-$(CONFIG_USB_UHCI) += host
71 ifeq ($(CONFIG_USB_UHCI),y)
72 obj-y += host/usb-uhci.o
75 subdir-$(CONFIG_USB_OHCI) += host
76 ifeq ($(CONFIG_USB_OHCI),y)
77 obj-y += host/usb-ohci.o
80 subdir-$(CONFIG_USB_SL811HS_ALT) += host
81 subdir-$(CONFIG_USB_SL811HS) += host
83 obj-$(CONFIG_USB_MOUSE) += usbmouse.o
84 obj-$(CONFIG_USB_HID) += hid.o
85 obj-$(CONFIG_USB_KBD) += usbkbd.o
86 obj-$(CONFIG_USB_AIPTEK) += aiptek.o
87 obj-$(CONFIG_USB_WACOM) += wacom.o
88 obj-$(CONFIG_USB_KBTAB) += kbtab.o
89 obj-$(CONFIG_USB_POWERMATE) += powermate.o
91 obj-$(CONFIG_USB_SCANNER) += scanner.o
92 obj-$(CONFIG_USB_ACM) += acm.o
93 obj-$(CONFIG_USB_PRINTER) += printer.o
94 obj-$(CONFIG_USB_AUDIO) += audio.o
95 obj-$(CONFIG_USB_EMI26) += emi26.o
96 obj-$(CONFIG_USB_MIDI) += usb-midi.o
97 obj-$(CONFIG_USB_IBMCAM) += ibmcam.o usbvideo.o ultracam.o
98 obj-$(CONFIG_USB_KONICAWC) += konicawc.o usbvideo.o
99 obj-$(CONFIG_USB_PWC) += pwc.o
100 obj-$(CONFIG_USB_DC2XX) += dc2xx.o
101 obj-$(CONFIG_USB_MDC800) += mdc800.o
102 obj-$(CONFIG_USB_USS720) += uss720.o
103 obj-$(CONFIG_USB_DABUSB) += dabusb.o
104 obj-$(CONFIG_USB_VICAM) += vicam.o usbvideo.o
105 obj-$(CONFIG_USB_OV511) += ov511.o
106 obj-$(CONFIG_USB_W9968CF) += w9968cf.o
107 obj-$(CONFIG_USB_SE401) += se401.o
108 obj-$(CONFIG_USB_STV680) += stv680.o
109 obj-$(CONFIG_USB_PEGASUS) += pegasus.o
110 obj-$(CONFIG_USB_RTL8150) += rtl8150.o
111 obj-$(CONFIG_USB_CATC) += catc.o
112 obj-$(CONFIG_USB_KAWETH) += kaweth.o
113 obj-$(CONFIG_USB_CDCETHER) += CDCEther.o
114 obj-$(CONFIG_USB_RIO500) += rio500.o
115 obj-$(CONFIG_USB_TIGL) += tiglusb.o
116 obj-$(CONFIG_USB_DSBR) += dsbr100.o
117 obj-$(CONFIG_USB_MICROTEK) += microtek.o
118 obj-$(CONFIG_USB_HPUSBSCSI) += hpusbscsi.o
119 obj-$(CONFIG_USB_BLUETOOTH) += bluetooth.o
120 obj-$(CONFIG_USB_USBNET) += usbnet.o
121 obj-$(CONFIG_USB_AUERSWALD) += auerswald.o
122 obj-$(CONFIG_USB_BRLVGER) += brlvger.o
123 obj-$(CONFIG_USB_LCD) += usblcd.o
124 obj-$(CONFIG_USB_SPEEDTOUCH) += speedtch.o
126 # Object files in subdirectories
127 mod-subdirs := serial host
129 subdir-$(CONFIG_USB_SERIAL) += serial
130 subdir-$(CONFIG_USB_STORAGE) += storage
132 ifeq ($(CONFIG_USB_SERIAL),y)
133 obj-y += serial/usb-serial.o
136 ifeq ($(CONFIG_USB_STORAGE),y)
137 obj-y += storage/storage.o
140 include $(TOPDIR)/Rules.make
142 # Link rules for multi-part drivers.
144 usbcore.o: $(usbcore-objs)
145 $(LD) -r -o $@ $(usbcore-objs)
148 $(LD) -r -o $@ $(hid-objs)
151 $(LD) -r -o $@ $(pwc-objs)
153 auerswald.o: $(auerswald-objs)
154 $(LD) -r -o $@ $(auerswald-objs)