# # Makefile for the kernel USB device drivers. # # Subdirs. SUB_DIRS := MOD_SUB_DIRS := $(SUB_DIRS) ALL_SUB_DIRS := $(SUB_DIRS) # The target object and module list name. O_TARGET := usbdrv.o M_OBJS := O_OBJS := MOD_LIST_NAME := USB_MODULES # Objects that export symbols. # Multipart objects. # Optional parts of multipart objects. # Object file lists. obj-y := obj-m := obj-n := obj- := # Each configuration option enables a list of files. obj-$(CONFIG_USB_SERIAL) += usb-serial.o # Extract lists of the multi-part drivers. # The 'int-*' lists are the intermediate files used to build the multi's. multi-y := $(filter $(list-multi), $(obj-y)) multi-m := $(filter $(list-multi), $(obj-m)) int-y := $(sort $(foreach m, $(multi-y), $($(basename $(m))-objs))) int-m := $(sort $(foreach m, $(multi-m), $($(basename $(m))-objs))) # Files that are both resident and modular: remove from modular. obj-m := $(filter-out $(obj-y), $(obj-m)) int-m := $(filter-out $(int-y), $(int-m)) # Take multi-part drivers out of obj-y and put components in. obj-y := $(filter-out $(list-multi), $(obj-y)) $(int-y) # Translate to Rules.make lists. O_OBJS := $(sort $(filter-out $(export-objs), $(obj-y))) OX_OBJS := $(sort $(filter $(export-objs), $(obj-y))) M_OBJS := $(sort $(filter-out $(export-objs), $(obj-m))) MX_OBJS := $(sort $(filter $(export-objs), $(obj-m))) MI_OBJS := $(sort $(filter-out $(export-objs), $(int-m))) MIX_OBJS := $(sort $(filter $(export-objs), $(int-m))) # The global Rules.make. include $(TOPDIR)/Rules.make # Link rules for multi-part drivers.