33 lines
1.2 KiB
Makefile
33 lines
1.2 KiB
Makefile
# 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)))
|
|
|
|
both-m := $(filter $(mod-subdirs), $(subdir-y))
|
|
SUB_DIRS := $(subdir-y)
|
|
MOD_SUB_DIRS := $(sort $(subdir-m) $(both-m))
|
|
ALL_SUB_DIRS := $(sort $(subdir-y) $(subdir-m) $(subdir-n) $(subdir-))
|
|
|
|
include $(TOPDIR)/Rules.make
|