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)
|
QMK_VERSION := $(shell git describe --abbrev=0 --tags 2>/dev/null)
|
||||||
ifneq ($(QMK_VERSION),)
|
ifneq ($(QMK_VERSION),)
|
||||||
|
ifeq ($(NO_VERSION),)
|
||||||
$(info QMK Firmware v$(QMK_VERSION))
|
$(info QMK Firmware v$(QMK_VERSION))
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
ON_ERROR := error_occurred=1
|
ON_ERROR := error_occurred=1
|
||||||
|
|
||||||
@ -564,6 +566,50 @@ git-submodule:
|
|||||||
git submodule sync --recursive
|
git submodule sync --recursive
|
||||||
git submodule update --init --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
|
ifdef SKIP_VERSION
|
||||||
SKIP_GIT := yes
|
SKIP_GIT := yes
|
||||||
endif
|
endif
|
||||||
|
Reference in New Issue
Block a user