diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 30 |
1 files changed, 28 insertions, 2 deletions
| @@ -38,6 +38,11 @@ $(info QMK Firmware $(QMK_VERSION)) | |||
| 38 | endif | 38 | endif |
| 39 | endif | 39 | endif |
| 40 | 40 | ||
| 41 | # Try to determine userspace from qmk config, if set. | ||
| 42 | ifeq ($(QMK_USERSPACE),) | ||
| 43 | QMK_USERSPACE = $(shell qmk config -ro user.overlay_dir | cut -d= -f2 | sed -e 's@^None$$@@g') | ||
| 44 | endif | ||
| 45 | |||
| 41 | # Determine which qmk cli to use | 46 | # Determine which qmk cli to use |
| 42 | QMK_BIN := qmk | 47 | QMK_BIN := qmk |
| 43 | 48 | ||
| @@ -191,9 +196,20 @@ define PARSE_KEYBOARD | |||
| 191 | KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/*/.))) | 196 | KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/*/.))) |
| 192 | KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/keymaps/*/.))) | 197 | KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/keymaps/*/.))) |
| 193 | 198 | ||
| 199 | ifneq ($(QMK_USERSPACE),) | ||
| 200 | KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_1)/keymaps/*/.))) | ||
| 201 | KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/keymaps/*/.))) | ||
| 202 | KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/keymaps/*/.))) | ||
| 203 | KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/*/.))) | ||
| 204 | KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/keymaps/*/.))) | ||
| 205 | endif | ||
| 206 | |||
| 194 | KEYBOARD_LAYOUTS := $(shell $(QMK_BIN) list-layouts --keyboard $1) | 207 | KEYBOARD_LAYOUTS := $(shell $(QMK_BIN) list-layouts --keyboard $1) |
| 195 | LAYOUT_KEYMAPS := | 208 | LAYOUT_KEYMAPS := |
| 196 | $$(foreach LAYOUT,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/layouts/*/$$(LAYOUT)/*/.))))) | 209 | $$(foreach LAYOUT,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/layouts/*/$$(LAYOUT)/*/.))))) |
| 210 | ifneq ($(QMK_USERSPACE),) | ||
| 211 | $$(foreach LAYOUT,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/layouts/$$(LAYOUT)/*/.))))) | ||
| 212 | endif | ||
| 197 | 213 | ||
| 198 | KEYMAPS := $$(sort $$(KEYMAPS) $$(LAYOUT_KEYMAPS)) | 214 | KEYMAPS := $$(sort $$(KEYMAPS) $$(LAYOUT_KEYMAPS)) |
| 199 | 215 | ||
| @@ -431,8 +447,18 @@ clean: | |||
| 431 | rm -rf $(BUILD_DIR) | 447 | rm -rf $(BUILD_DIR) |
| 432 | echo 'done.' | 448 | echo 'done.' |
| 433 | 449 | ||
| 434 | .PHONY: distclean | 450 | .PHONY: distclean distclean_qmk |
| 435 | distclean: clean | 451 | distclean: distclean_qmk |
| 452 | distclean_qmk: clean | ||
| 436 | echo -n 'Deleting *.bin, *.hex, and *.uf2 ... ' | 453 | echo -n 'Deleting *.bin, *.hex, and *.uf2 ... ' |
| 437 | rm -f *.bin *.hex *.uf2 | 454 | rm -f *.bin *.hex *.uf2 |
| 438 | echo 'done.' | 455 | echo 'done.' |
| 456 | |||
| 457 | ifneq ($(QMK_USERSPACE),) | ||
| 458 | .PHONY: distclean_userspace | ||
| 459 | distclean: distclean_userspace | ||
| 460 | distclean_userspace: clean | ||
| 461 | echo -n 'Deleting userspace *.bin, *.hex, and *.uf2 ... ' | ||
| 462 | rm -f $(QMK_USERSPACE)/*.bin $(QMK_USERSPACE)/*.hex $(QMK_USERSPACE)/*.uf2 | ||
| 463 | echo 'done.' | ||
| 464 | endif | ||
