special usb hub handling, IDE disks, and retries all over the place
[linux-2.4.git] / drivers / usb / Makefile
1 #
2 # Makefile for the kernel USB device drivers.
3 #
4
5 # Subdirs.
6
7 # The target object and module list name.
8
9 O_TARGET        := usbdrv.o
10
11 # Objects that export symbols.
12
13 export-objs             := hcd.o usb.o ov511.o pwc-uncompress.o
14
15 # Multipart objects.
16
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
22
23 # Optional parts of multipart objects.
24
25 ifeq ($(CONFIG_USB_DEVICEFS),y)
26         usbcore-objs    += devio.o inode.o drivers.o devices.o
27 endif
28
29 ifeq ($(CONFIG_USB_HIDDEV),y)
30         hid-objs        += hiddev.o
31 endif
32
33 ifeq ($(CONFIG_USB_HIDINPUT),y)
34         hid-objs        += hid-input.o
35 endif
36
37 ifdef CONFIG_USB_AUERISDN
38 ifneq ($(CONFIG_USB_AUERISDN),n)
39         auerswald-objs  += auerisdn.o auerisdn_b.o
40 endif
41 endif
42
43 # Object file lists.
44
45 obj-y   :=
46 obj-m   :=
47 obj-n   :=
48 obj-    :=
49
50 # Each configuration option enables a list of files.
51
52 obj-$(CONFIG_USB)               += usbcore.o
53
54 # EHCI should initialize/link before the other HCDs
55 ifeq ($(CONFIG_USB_EHCI_HCD),y)
56         obj-y += host/ehci-hcd.o
57 endif
58
59 ifneq ($(CONFIG_USB_EHCI_HCD),n)
60         usbcore-objs            += hcd.o
61 endif
62
63 subdir-$(CONFIG_USB_EHCI_HCD)   += host
64
65 subdir-$(CONFIG_USB_UHCI_ALT)   += host
66 ifeq ($(CONFIG_USB_UHCI_ALT),y)
67         obj-y += host/uhci.o
68 endif
69
70 subdir-$(CONFIG_USB_UHCI)       += host
71 ifeq ($(CONFIG_USB_UHCI),y)
72         obj-y += host/usb-uhci.o
73 endif
74
75 subdir-$(CONFIG_USB_OHCI)       += host
76 ifeq ($(CONFIG_USB_OHCI),y)
77         obj-y += host/usb-ohci.o
78 endif
79
80 subdir-$(CONFIG_USB_SL811HS_ALT)        += host
81 subdir-$(CONFIG_USB_SL811HS)    += host
82
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
90
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
125
126 # Object files in subdirectories
127 mod-subdirs     := serial host
128
129 subdir-$(CONFIG_USB_SERIAL)     += serial
130 subdir-$(CONFIG_USB_STORAGE)    += storage
131
132 ifeq ($(CONFIG_USB_SERIAL),y)
133         obj-y += serial/usb-serial.o
134 endif
135
136 ifeq ($(CONFIG_USB_STORAGE),y)
137         obj-y += storage/storage.o
138 endif
139
140 include $(TOPDIR)/Rules.make
141
142 # Link rules for multi-part drivers.
143
144 usbcore.o: $(usbcore-objs)
145         $(LD) -r -o $@ $(usbcore-objs)
146
147 hid.o: $(hid-objs)
148         $(LD) -r -o $@ $(hid-objs)
149
150 pwc.o: $(pwc-objs)
151         $(LD) -r -o $@ $(pwc-objs)
152
153 auerswald.o: $(auerswald-objs)
154         $(LD) -r -o $@ $(auerswald-objs)