+# $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)))
+ $$(eval $$(call COMPARE_AND_REMOVE_FROM_RULE,allsp))
+ ifeq ($$(RULE_FOUND),true)
+ $$(eval $$(call PARSE_ALL_SUBPROJECTS))
+ else
+ $$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(SUBPROJECTS)))
+ ifeq ($$(RULE_FOUND),true)
+ $$(eval $$(call PARSE_SUBPROJECT,$$(MATCHED_ITEM)))
+ endif
+ endif
+endef
+