diff options
| author | Fred Sundvik <fsundvik@gmail.com> | 2016-08-07 17:48:59 +0300 |
|---|---|---|
| committer | Fred Sundvik <fsundvik@gmail.com> | 2016-08-20 03:56:19 +0300 |
| commit | 2dd9c1edcdcc3fc579e6109daf9012f9a82b7435 (patch) | |
| tree | 64d9e62c2ce0109b1430fade4cfd1ede9c1697c7 /Makefile | |
| parent | 44441de8cad7255fd0637459ed39b89e34751b78 (diff) | |
| download | qmk_firmware-2dd9c1edcdcc3fc579e6109daf9012f9a82b7435.tar.gz qmk_firmware-2dd9c1edcdcc3fc579e6109daf9012f9a82b7435.zip | |
Proper parsing of keymaps inside subprojects
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 26 |
1 files changed, 21 insertions, 5 deletions
| @@ -131,16 +131,32 @@ endef | |||
| 131 | # $1 Subproject | 131 | # $1 Subproject |
| 132 | define PARSE_SUBPROJECT | 132 | define PARSE_SUBPROJECT |
| 133 | ifeq ($1,defaultsp) | 133 | ifeq ($1,defaultsp) |
| 134 | SUBPROJECT_DEFAULT= | ||
| 134 | $$(eval include $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/Makefile) | 135 | $$(eval include $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/Makefile) |
| 135 | CURRENT_SP := $$(SUBPROJECT_DEFAULT) | 136 | CURRENT_SP := $$(SUBPROJECT_DEFAULT) |
| 136 | else | 137 | else |
| 137 | CURRENT_SP := $1 | 138 | CURRENT_SP := $1 |
| 138 | endif | 139 | endif |
| 139 | KEYMAPS := $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/keymaps/*/.))) | 140 | # If current subproject is empty (the default was not defined), and we have a list of subproject |
| 140 | ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allkm),true) | 141 | # then make all |
| 141 | $$(eval $$(call PARSE_ALL_KEYMAPS)) | 142 | ifeq ($$(CURRENT_SP),) |
| 142 | else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYMAPS)),true) | 143 | ifneq ($$(SUBPROJECTS),) |
| 143 | $$(eval $$(call PARSE_KEYMAP,$$(MATCHED_ITEM))) | 144 | CURRENT_SP := allsp |
| 145 | endif | ||
| 146 | endif | ||
| 147 | ifneq ($$(CURRENT_SP),allsp) | ||
| 148 | KEYMAPS := $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/keymaps/*/.))) | ||
| 149 | ifneq ($$(CURRENT_SP),) | ||
| 150 | SP_KEYMAPS := $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/$$(CURRENT_SP)/keymaps/*/.))) | ||
| 151 | KEYMAPS := $$(sort $$(KEYMAPS) $$(SP_KEYMAPS)) | ||
| 152 | endif | ||
| 153 | ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allkm),true) | ||
| 154 | $$(eval $$(call PARSE_ALL_KEYMAPS)) | ||
| 155 | else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYMAPS)),true) | ||
| 156 | $$(eval $$(call PARSE_KEYMAP,$$(MATCHED_ITEM))) | ||
| 157 | endif | ||
| 158 | else | ||
| 159 | $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$(SUBPROJECTS))) | ||
| 144 | endif | 160 | endif |
| 145 | endef | 161 | endef |
| 146 | 162 | ||
