blob: fcdf75d5298a41a08f3041b826d42deb401ad77d [file] [log] [blame]
#
# Shared rules
#
#
# Parse directories
#
__subdir-y := $(patsubst %/,%,$(filter %/, $(obj-y)))
subdir-y += $(__subdir-y)
__subdir-m := $(patsubst %/,%,$(filter %/, $(obj-m)))
subdir-m += $(__subdir-m) $(__subdir-y)
__subdir-n := $(patsubst %/,%,$(filter %/, $(obj-n)))
subdir-n += $(__subdir-n)
__subdir- := $(patsubst %/,%,$(filter %/, $(obj-)))
subdir- += $(__subdir-)
obj-y := $(patsubst %/, %/built-in.o, $(obj-y))
obj-m := $(filter-out %/, $(obj-m))
#
# ALSA hacks for extra code
#
subdir-y += $(extra-subdir-y)
subdir-m += $(extra-subdir-m)
subdir-n += $(extra-subdir-n)
obj-y += $(extra-obj-y)
obj-m += $(extra-obj-m)
obj-n += $(extra-obj-n)
#
#
#
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-))
#
#
#
#
# A rule to do nothing
#
dummy:
#
# This is useful for testing
#
script:
$(SCRIPT)
#
#
#
.PHONY: clean1
clean1:
rm -f .depend *.[oas] *.ko .*.cmd .*.tmp *.mod.c *.isapnp $(clean-files)
.PHONY: clean
clean: $(patsubst %,_sfclean_%,$(ALL_SUB_DIRS)) clean1
.PHONY: mrproper
mrproper: $(patsubst %,_sfmrproper_%,$(ALL_SUB_DIRS)) clean1
rm -f *~ out.txt *.orig *.rej .#* .gdb_history
ifneq "$(strip $(ALL_SUB_DIRS))" ""
$(patsubst %,_sfclean_%,$(ALL_SUB_DIRS)):
$(MAKE) -C $(patsubst _sfclean_%,%,$@) clean
endif
ifneq "$(strip $(ALL_SUB_DIRS))" ""
$(patsubst %,_sfmrproper_%,$(ALL_SUB_DIRS)):
$(MAKE) -C $(patsubst _sfmrproper_%,%,$@) mrproper
endif