diff options
author | fauxpark <fauxpark@gmail.com> | 2019-09-21 17:00:58 +1000 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2019-09-21 00:00:58 -0700 |
commit | 2df3799e3d3fe60ff6ed6159cd935d4356be70c3 (patch) | |
tree | 2dd9f65ac05ec68a27cc096d1d26151a4c39dcf4 | |
parent | ea96c4b787f07d64a497700e07c2a842324fe4f5 (diff) | |
download | qmk_firmware-2df3799e3d3fe60ff6ed6159cd935d4356be70c3.tar.gz |
Add list-keymaps make target (#5563)
-rw-r--r-- | Makefile | 13 | ||||
-rw-r--r-- | message.mk | 5 |
2 files changed, 18 insertions, 0 deletions
@@ -371,6 +371,9 @@ define PARSE_KEYBOARD # The same if all was specified else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all),true) $$(eval $$(call PARSE_ALL_KEYMAPS)) + # List all keymaps for the given keyboard + else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,list-keymaps),true) + $$(eval $$(call LIST_ALL_KEYMAPS)) # Try to match the specified keyamp with the list of known keymaps else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYMAPS)),true) $$(eval $$(call PARSE_KEYMAP,$$(MATCHED_ITEM))) @@ -407,6 +410,16 @@ endef # endif # endef +# Prints a list of all known keymaps for the given keyboard +define LIST_ALL_KEYMAPS + COMMAND_true_LIST_KEYMAPS := \ + printf "$$(KEYMAPS)\n"; + COMMAND_false_LIST_KEYMAPS := \ + printf "$$(MSG_AVAILABLE_KEYMAPS)\n"; \ + printf "$$(KEYMAPS)\n"; + COMMANDS += LIST_KEYMAPS +endef + # $1 Keymap # This is the meat of compiling a keyboard, when entering this, everything is known # keyboard, subproject, and keymap diff --git a/message.mk b/message.mk index dfbde2845..53afba206 100644 --- a/message.mk +++ b/message.mk @@ -76,6 +76,11 @@ define GENERATE_MSG_MAKE_TEST endef MSG_MAKE_TEST = $(eval $(call GENERATE_MSG_MAKE_TEST))$(MSG_MAKE_TEST_ACTUAL) MSG_TEST = Testing $(BOLD)$(TEST_NAME)$(NO_COLOR) +define GENERATE_MSG_AVAILABLE_KEYMAPS + MSG_AVAILABLE_KEYMAPS_ACTUAL := Available keymaps for $(BOLD)$$(CURRENT_KB)$(NO_COLOR): +endef +MSG_AVAILABLE_KEYMAPS = $(eval $(call GENERATE_MSG_AVAILABLE_KEYMAPS))$(MSG_AVAILABLE_KEYMAPS_ACTUAL) + MSG_CHECK_FILESIZE = Checking file size of $(TARGET).hex MSG_FILE_TOO_BIG = $(ERROR_COLOR)The firmware is too large!$(NO_COLOR) $(CURRENT_SIZE)/$(MAX_SIZE) ($(OVER_SIZE) bytes over)\n MSG_FILE_TOO_SMALL = The firmware is too small! $(CURRENT_SIZE)/$(MAX_SIZE)\n |