summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2019-11-20 22:32:16 +0000
committerGitHub <noreply@github.com>2019-11-20 22:32:16 +0000
commitd2115f7d1c3a314e997ec6800b6741d83115d6be (patch)
treec0dbafaf4332ab2ceb79e7d8ebbd56cd80558d57 /Makefile
parente6b9980bd45c186f7360df68c24b6e05a80c10dc (diff)
downloadqmk_firmware-d2115f7d1c3a314e997ec6800b6741d83115d6be.tar.gz
qmk_firmware-d2115f7d1c3a314e997ec6800b6741d83115d6be.zip
Allow 'make all:<user>' to not build EVERYTHING (#7402)
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile5
1 files changed, 5 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 1aa8b2305c..8f02eea049 100644
--- a/Makefile
+++ b/Makefile
@@ -272,12 +272,14 @@ define PARSE_RULE
# If the rule starts with all, then continue the parsing from
# PARSE_ALL_KEYBOARDS
ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all),true)
+ KEYBOARD_RULE=all
$$(eval $$(call PARSE_ALL_KEYBOARDS))
else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,test),true)
$$(eval $$(call PARSE_TEST))
# If the rule starts with the name of a known keyboard, then continue
# the parsing from PARSE_KEYBOARD
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYBOARDS)),true)
+ KEYBOARD_RULE=$$(MATCHED_ITEM)
$$(eval $$(call PARSE_KEYBOARD,$$(MATCHED_ITEM)))
# Otherwise use the KEYBOARD variable, which is determined either by
# the current directory you run make from, or passed in as an argument
@@ -380,6 +382,9 @@ define PARSE_KEYBOARD
# Otherwise try to match the keymap from the current folder, or arguments to the make command
else ifneq ($$(KEYMAP),)
$$(eval $$(call PARSE_KEYMAP,$$(KEYMAP)))
+ # Otherwise if we are running make all:<user> just skip
+ else ifeq ($$(KEYBOARD_RULE),all)
+ # $$(info Skipping: No user keymap for $$(CURRENT_KB))
# Otherwise, make all keymaps, again this is consistent with how it works without
# any arguments
else