Import 2.3.49pre2
[davej-history.git] / drivers / usb / Makefile
blobfeb1603db1fc7d7c9d94d134eda890e2ab55f703
2 # Makefile for the kernel USB device drivers.
5 # Subdirs.
7 SUB_DIRS :=
8 MOD_SUB_DIRS := $(SUB_DIRS)
9 ALL_SUB_DIRS := $(SUB_DIRS)
11 # The target object and module list name.
13 O_TARGET := usbdrv.o
14 M_OBJS :=
15 O_OBJS :=
16 MOD_LIST_NAME := USB_MODULES
18 # Objects that export symbols.
20 export-objs := usb.o input.o
22 # Multipart objects.
24 list-multi := usbcore.o
25 usbcore-objs := usb.o usb-debug.o usb-core.o hub.o
27 # Optional parts of multipart objects.
29 ifeq ($(CONFIG_USB_DEVICEFS),y)
30 usbcore-objs += devio.o inode.o drivers.o devices.o
31 endif
33 # Object file lists.
35 obj-y :=
36 obj-m :=
37 obj-n :=
38 obj- :=
40 # Each configuration option enables a list of files.
42 obj-$(CONFIG_USB) += usbcore.o
43 obj-$(CONFIG_USB_UHCI) += usb-uhci.o
44 obj-$(CONFIG_USB_UHCI_ALT) += uhci.o
45 obj-$(CONFIG_USB_OHCI) += usb-ohci.o
47 obj-$(CONFIG_USB_MOUSE) += usbmouse.o input.o
48 obj-$(CONFIG_USB_HID) += hid.o input.o
49 obj-$(CONFIG_USB_KBD) += usbkbd.o input.o
50 obj-$(CONFIG_USB_WACOM) += wacom.o input.o
51 obj-$(CONFIG_USB_WMFORCE) += wmforce.o input.o
52 obj-$(CONFIG_INPUT_KEYBDEV) += keybdev.o input.o
53 obj-$(CONFIG_INPUT_MOUSEDEV) += mousedev.o input.o
54 obj-$(CONFIG_INPUT_JOYDEV) += joydev.o input.o
55 obj-$(CONFIG_INPUT_EVDEV) += evdev.o input.o
57 obj-$(CONFIG_USB_SCANNER) += scanner.o
58 obj-$(CONFIG_USB_ACM) += acm.o
59 obj-$(CONFIG_USB_PRINTER) += printer.o
60 obj-$(CONFIG_USB_SERIAL) += usb-serial.o
61 obj-$(CONFIG_USB_AUDIO) += audio.o
62 obj-$(CONFIG_USB_CPIA) += cpia.o
63 obj-$(CONFIG_USB_IBMCAM) += ibmcam.o
64 obj-$(CONFIG_USB_DC2XX) += dc2xx.o
65 obj-$(CONFIG_USB_STORAGE) += usb-storage.o
66 obj-$(CONFIG_USB_USS720) += uss720.o
67 obj-$(CONFIG_USB_DABUSB) += dabusb.o
68 obj-$(CONFIG_USB_PLUSB) += plusb.o
69 obj-$(CONFIG_USB_OV511) += ov511.o
70 obj-$(CONFIG_USB_PEGASUS) += pegasus.o
72 # Extract lists of the multi-part drivers.
73 # The 'int-*' lists are the intermediate files used to build the multi's.
75 multi-y := $(filter $(list-multi), $(obj-y))
76 multi-m := $(filter $(list-multi), $(obj-m))
77 int-y := $(sort $(foreach m, $(multi-y), $($(basename $(m))-objs)))
78 int-m := $(sort $(foreach m, $(multi-m), $($(basename $(m))-objs)))
80 # Files that are both resident and modular: remove from modular.
82 obj-m := $(filter-out $(obj-y), $(obj-m))
83 int-m := $(filter-out $(int-y), $(int-m))
85 # Take multi-part drivers out of obj-y and put components in.
87 obj-y := $(filter-out $(list-multi), $(obj-y)) $(int-y)
89 # Translate to Rules.make lists.
91 O_OBJS := $(sort $(filter-out $(export-objs), $(obj-y)))
92 OX_OBJS := $(sort $(filter $(export-objs), $(obj-y)))
93 M_OBJS := $(sort $(filter-out $(export-objs), $(obj-m)))
94 MX_OBJS := $(sort $(filter $(export-objs), $(obj-m)))
95 MI_OBJS := $(sort $(filter-out $(export-objs), $(int-m)))
96 MIX_OBJS := $(sort $(filter $(export-objs), $(int-m)))
98 # The global Rules.make.
100 include $(TOPDIR)/Rules.make
102 # Link rules for multi-part drivers.
104 usbcore.o: $(usbcore-objs)
105 $(LD) -r -o $@ $(usbcore-objs)