|
|
@ -94,20 +94,30 @@ define PARSE_ALL_IN_LIST |
|
|
|
$$(foreach ITEM$1,$2,$$(eval $$(call ALL_IN_LIST_LOOP,$1))) |
|
|
|
endef |
|
|
|
|
|
|
|
define PARSE_ALL_KEYBOARDS |
|
|
|
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(KEYBOARDS))) |
|
|
|
define PARSE_RULE |
|
|
|
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 |
|
|
|
|
|
|
|
define PARSE_ALL_KEYMAPS |
|
|
|
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYMAP,$$(KEYMAPS))) |
|
|
|
# $1 = Keyboard
|
|
|
|
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 |
|
|
|
|
|
|
|
define PARSE_ALL_SUBPROJECTS |
|
|
|
ifeq ($$(SUBPROJECTS),) |
|
|
|
$$(eval $$(call PARSE_SUBPROJECT,)) |
|
|
|
else |
|
|
|
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$$(SUBPROJECTS))) |
|
|
|
endif |
|
|
|
define PARSE_ALL_KEYBOARDS |
|
|
|
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(KEYBOARDS))) |
|
|
|
endef |
|
|
|
|
|
|
|
# $1 Subproject
|
|
|
@ -121,15 +131,11 @@ define PARSE_SUBPROJECT |
|
|
|
endif |
|
|
|
endef |
|
|
|
|
|
|
|
# $1 = Keyboard
|
|
|
|
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))) |
|
|
|
define PARSE_ALL_SUBPROJECTS |
|
|
|
ifeq ($$(SUBPROJECTS),) |
|
|
|
$$(eval $$(call PARSE_SUBPROJECT,)) |
|
|
|
else |
|
|
|
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$$(SUBPROJECTS))) |
|
|
|
endif |
|
|
|
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) |
|
|
|
endef |
|
|
|
|
|
|
|
define PARSE_RULE |
|
|
|
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 |
|
|
|
define PARSE_ALL_KEYMAPS |
|
|
|
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYMAP,$$(KEYMAPS))) |
|
|
|
endef |
|
|
|
|
|
|
|
RUN_COMMAND = echo "Running": $(COMMAND_$(COMMAND)); |
|
|
|