|
|
|
@ -131,16 +131,32 @@ endef
|
|
|
|
|
# $1 Subproject
|
|
|
|
|
define PARSE_SUBPROJECT
|
|
|
|
|
ifeq ($1,defaultsp)
|
|
|
|
|
SUBPROJECT_DEFAULT=
|
|
|
|
|
$$(eval include $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/Makefile)
|
|
|
|
|
CURRENT_SP := $$(SUBPROJECT_DEFAULT)
|
|
|
|
|
else
|
|
|
|
|
CURRENT_SP := $1
|
|
|
|
|
endif
|
|
|
|
|
KEYMAPS := $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/keymaps/*/.)))
|
|
|
|
|
ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allkm),true)
|
|
|
|
|
$$(eval $$(call PARSE_ALL_KEYMAPS))
|
|
|
|
|
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYMAPS)),true)
|
|
|
|
|
$$(eval $$(call PARSE_KEYMAP,$$(MATCHED_ITEM)))
|
|
|
|
|
# If current subproject is empty (the default was not defined), and we have a list of subproject
|
|
|
|
|
# then make all
|
|
|
|
|
ifeq ($$(CURRENT_SP),)
|
|
|
|
|
ifneq ($$(SUBPROJECTS),)
|
|
|
|
|
CURRENT_SP := allsp
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
ifneq ($$(CURRENT_SP),allsp)
|
|
|
|
|
KEYMAPS := $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/keymaps/*/.)))
|
|
|
|
|
ifneq ($$(CURRENT_SP),)
|
|
|
|
|
SP_KEYMAPS := $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/$$(CURRENT_SP)/keymaps/*/.)))
|
|
|
|
|
KEYMAPS := $$(sort $$(KEYMAPS) $$(SP_KEYMAPS))
|
|
|
|
|
endif
|
|
|
|
|
ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allkm),true)
|
|
|
|
|
$$(eval $$(call PARSE_ALL_KEYMAPS))
|
|
|
|
|
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYMAPS)),true)
|
|
|
|
|
$$(eval $$(call PARSE_KEYMAP,$$(MATCHED_ITEM)))
|
|
|
|
|
endif
|
|
|
|
|
else
|
|
|
|
|
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$(SUBPROJECTS)))
|
|
|
|
|
endif
|
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
|