You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

19 lines
1.1 KiB

# The relative directory of each driver is configured in driver_obj.mk
# $(KERNEL_SRC_DIR)/drivers/Makefile:
# include $(DRV_DIR)/../scripts/driver_objects.mk
DRIVER_SUBDIRS ?= drivers
driver_obj_subdirs := $(addprefix $(srctree)/, $(DRIVER_SUBDIRS))
driver_obj_mk_files := $(sort $(patsubst ./%,%, \
$(shell find -L $(driver_obj_subdirs) -name driver_obj.mk -and -not -name ".*") ))
include $(DRV_DIR)/../scripts/driver_init_level.mk
# 1.获取 $(driver_link_level) 和 $(driver_obj_mk_files) 的公共驱动目录
driver_common_obj_files := $(filter $(addsuffix %, $(driver_obj_mk_files)), $(addsuffix /driver_obj.mk, $(driver_link_level)))
# 2.获取 $(driver_obj_mk_files) 中其余驱动目录
driver_remaining_obj_files := $(filter-out $(addsuffix %, $(driver_common_obj_files)), $(driver_obj_mk_files))
driver_obj_mk_files := $(driver_common_obj_files) $(driver_remaining_obj_files)
-include $(DRV_DIR)/../scripts/driver_filter_list.mk
driver_obj_mk_files := $(filter-out $(driver_filter_list), $(driver_obj_mk_files))
$(foreach obj_mk,$(strip $(driver_obj_mk_files)),$(info including $(obj_mk) ...)$(eval include $(obj_mk)))