|
|
@ -94,20 +94,30 @@ define PARSE_ALL_IN_LIST
|
|
|
|
$$(foreach ITEM$1,$2,$$(eval $$(call ALL_IN_LIST_LOOP,$1)))
|
|
|
|
$$(foreach ITEM$1,$2,$$(eval $$(call ALL_IN_LIST_LOOP,$1)))
|
|
|
|
endef
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
|
|
|
define PARSE_ALL_KEYBOARDS
|
|
|
|
define PARSE_RULE
|
|
|
|
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(KEYBOARDS)))
|
|
|
|
RULE := $1
|
|
|
|
|
|
|
|
COMMANDS :=
|
|
|
|
|
|
|
|
ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allkb),true)
|
|
|
|
|
|
|
|
$$(eval $$(call PARSE_ALL_KEYBOARDS))
|
|
|
|
|
|
|
|
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYBOARDS)),true)
|
|
|
|
|
|
|
|
$$(eval $$(call PARSE_KEYBOARD,$$(MATCHED_ITEM)))
|
|
|
|
|
|
|
|
endif
|
|
|
|
endef
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
|
|
|
define PARSE_ALL_KEYMAPS
|
|
|
|
# $1 = Keyboard
|
|
|
|
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYMAP,$$(KEYMAPS)))
|
|
|
|
define PARSE_KEYBOARD
|
|
|
|
|
|
|
|
CURRENT_KB := $1
|
|
|
|
|
|
|
|
# A subproject is any keyboard subfolder with a makefile
|
|
|
|
|
|
|
|
SUBPROJECTS := $$(notdir $$(patsubst %/Makefile,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/*/Makefile)))
|
|
|
|
|
|
|
|
ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allsp),true)
|
|
|
|
|
|
|
|
$$(eval $$(call PARSE_ALL_SUBPROJECTS))
|
|
|
|
|
|
|
|
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(SUBPROJECTS)),true)
|
|
|
|
|
|
|
|
$$(eval $$(call PARSE_SUBPROJECT,$$(MATCHED_ITEM)))
|
|
|
|
|
|
|
|
endif
|
|
|
|
endef
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
|
|
|
define PARSE_ALL_SUBPROJECTS
|
|
|
|
define PARSE_ALL_KEYBOARDS
|
|
|
|
ifeq ($$(SUBPROJECTS),)
|
|
|
|
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(KEYBOARDS)))
|
|
|
|
$$(eval $$(call PARSE_SUBPROJECT,))
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$$(SUBPROJECTS)))
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
endef
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
|
|
|
# $1 Subproject
|
|
|
|
# $1 Subproject
|
|
|
@ -121,15 +131,11 @@ define PARSE_SUBPROJECT
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endef
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
|
|
|
# $1 = Keyboard
|
|
|
|
define PARSE_ALL_SUBPROJECTS
|
|
|
|
define PARSE_KEYBOARD
|
|
|
|
ifeq ($$(SUBPROJECTS),)
|
|
|
|
CURRENT_KB := $1
|
|
|
|
$$(eval $$(call PARSE_SUBPROJECT,))
|
|
|
|
# A subproject is any keyboard subfolder with a makefile
|
|
|
|
else
|
|
|
|
SUBPROJECTS := $$(notdir $$(patsubst %/Makefile,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/*/Makefile)))
|
|
|
|
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$$(SUBPROJECTS)))
|
|
|
|
ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allsp),true)
|
|
|
|
|
|
|
|
$$(eval $$(call PARSE_ALL_SUBPROJECTS))
|
|
|
|
|
|
|
|
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(SUBPROJECTS)),true)
|
|
|
|
|
|
|
|
$$(eval $$(call PARSE_SUBPROJECT,$$(MATCHED_ITEM)))
|
|
|
|
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endef
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
|
|
@ -140,14 +146,8 @@ define PARSE_KEYMAP
|
|
|
|
COMMAND_KEYBOARD_$$(CURRENT_KB)_SUBPROJECT_$(CURRENT_SP)_KEYMAP_$$(CURRENT_KM) := Keyboard $$(CURRENT_KB), Subproject $$(CURRENT_SP), Keymap $$(CURRENT_KM)
|
|
|
|
COMMAND_KEYBOARD_$$(CURRENT_KB)_SUBPROJECT_$(CURRENT_SP)_KEYMAP_$$(CURRENT_KM) := Keyboard $$(CURRENT_KB), Subproject $$(CURRENT_SP), Keymap $$(CURRENT_KM)
|
|
|
|
endef
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
|
|
|
define PARSE_RULE
|
|
|
|
define PARSE_ALL_KEYMAPS
|
|
|
|
RULE := $1
|
|
|
|
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYMAP,$$(KEYMAPS)))
|
|
|
|
COMMANDS :=
|
|
|
|
|
|
|
|
ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allkb),true)
|
|
|
|
|
|
|
|
$$(eval $$(call PARSE_ALL_KEYBOARDS))
|
|
|
|
|
|
|
|
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYBOARDS)),true)
|
|
|
|
|
|
|
|
$$(eval $$(call PARSE_KEYBOARD,$$(MATCHED_ITEM)))
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
endef
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
|
|
|
RUN_COMMAND = echo "Running": $(COMMAND_$(COMMAND));
|
|
|
|
RUN_COMMAND = echo "Running": $(COMMAND_$(COMMAND));
|
|
|
|