adds autocomplete for keyboard, subproject, keymap for make
This commit is contained in:
parent
4cdcbdb861
commit
0bb049b926
46
Makefile
46
Makefile
@ -21,8 +21,10 @@ override SILENT := false
|
||||
|
||||
QMK_VERSION := $(shell git describe --abbrev=0 --tags 2>/dev/null)
|
||||
ifneq ($(QMK_VERSION),)
|
||||
ifeq ($(NO_VERSION),)
|
||||
$(info QMK Firmware v$(QMK_VERSION))
|
||||
endif
|
||||
endif
|
||||
|
||||
ON_ERROR := error_occurred=1
|
||||
|
||||
@ -564,6 +566,50 @@ git-submodule:
|
||||
git submodule sync --recursive
|
||||
git submodule update --init --recursive
|
||||
|
||||
define PRINT_OPTION
|
||||
ifeq ($$(SUBPROJECT_OPTION),)
|
||||
ALL_OPTIONS += $$(KEYBOARD_OPTION)-$$(KEYMAP_OPTION)
|
||||
else
|
||||
ALL_OPTIONS += $$(KEYBOARD_OPTION)-$$(SUBPROJECT_OPTION)-$$(KEYMAP_OPTION)
|
||||
endif
|
||||
endef
|
||||
|
||||
define ALL_KEYMAPS
|
||||
KEYMAPS_OPTION := $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_OPTION)/keymaps/*/.)))
|
||||
LAYOUTS :=
|
||||
$$(eval -include $(ROOT_DIR)/keyboards/$$(KEYBOARD_OPTION)/rules.mk)
|
||||
KEYBOARD_LAYOUTS := $$(LAYOUTS)
|
||||
ifneq ($$(SUBPROJECT_OPTION),)
|
||||
SP_KEYMAPS_OPTION := $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_OPTION)/$$(SUBPROJECT_OPTION)/keymaps/*/.)))
|
||||
KEYMAPS_OPTION := $$(sort $$(KEYMAPS_OPTION) $$(SP_KEYMAPS_OPTION))
|
||||
endif
|
||||
|
||||
LAYOUT_KEYMAPS_OPTION :=
|
||||
$$(foreach LAYOUT_OPTION,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS_OPTION += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/layouts/*/$$(LAYOUT_OPTION)/*/.)))))
|
||||
|
||||
KEYMAPS_OPTION := $$(sort $$(KEYMAPS_OPTION) $$(LAYOUT_KEYMAPS_OPTION))
|
||||
|
||||
$$(foreach KEYMAP_OPTION, $$(KEYMAPS_OPTION), $$(eval $$(call PRINT_OPTION)))
|
||||
endef
|
||||
|
||||
define ALL_SUBPROJECTS
|
||||
SUBPROJECTS_OPTION := $$(notdir $$(patsubst %/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_OPTION)/*/rules.mk)))
|
||||
$$(eval $$(call ALL_KEYMAPS))
|
||||
ifneq ($$(SUBPROJECT_OPTION),)
|
||||
$$(foreach SUBPROJECT_OPTION, $$(SUBPROJECTS_OPTION), $$(eval $$(call ALL_KEYMAPS)))
|
||||
endif
|
||||
endef
|
||||
|
||||
define ALL_KEYBOARDS
|
||||
$$(foreach KEYBOARD_OPTION,$$(KEYBOARDS), $$(eval $$(call ALL_SUBPROJECTS)))
|
||||
endef
|
||||
|
||||
ALL_OPTIONS :=
|
||||
$(eval $(call ALL_KEYBOARDS))
|
||||
|
||||
autocomplete:
|
||||
echo $(ALL_OPTIONS)
|
||||
|
||||
ifdef SKIP_VERSION
|
||||
SKIP_GIT := yes
|
||||
endif
|
||||
|
Loading…
Reference in New Issue
Block a user