summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2019-08-15 22:03:26 +0100
committerGitHub <noreply@github.com>2019-08-15 22:03:26 +0100
commit9813a6f950b46277eb29c54105809767cc0daa65 (patch)
treeb83554648b2f06f4ab11ac47c55815f37e9e924d /Makefile
parentfadb69e2031a259248dd575384da8846ba0c2aa3 (diff)
downloadqmk_firmware-9813a6f950b46277eb29c54105809767cc0daa65.tar.gz
qmk_firmware-9813a6f950b46277eb29c54105809767cc0daa65.zip
Add an alternative method for keyboard discovery to speed up build (#6073)
* Add an alternative method for keyboard discovery to speed up build * Chain MAKEFLAGS for docker_build.sh * Slight improvement to number of items sent to sort * Remove debug line * Fix line escape
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile9
1 files changed, 8 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index a6c3ee35b7..6512f7217e 100644
--- a/Makefile
+++ b/Makefile
@@ -20,7 +20,10 @@ endif
override SILENT := false
ifndef SUB_IS_SILENT
-QMK_VERSION := $(shell git describe --abbrev=0 --tags 2>/dev/null)
+ifndef SKIP_GIT
+ QMK_VERSION := $(shell git describe --abbrev=0 --tags 2>/dev/null)
+endif
+
ifneq ($(QMK_VERSION),)
$(info QMK Firmware $(QMK_VERSION))
endif
@@ -94,6 +97,7 @@ $(eval $(call NEXT_PATH_ELEMENT))
# endif
define GET_KEYBOARDS
+ifndef ALT_GET_KEYBOARDS
All_RULES_MK := $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/rules.mk))
All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/rules.mk))
All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/rules.mk))
@@ -105,6 +109,9 @@ define GET_KEYBOARDS
KEYMAPS_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/*/keymaps/*/rules.mk))
KEYBOARDS := $$(sort $$(filter-out $$(KEYMAPS_MK), $$(All_RULES_MK)))
+else
+ KEYBOARDS := $(shell find keyboards/ -type f -iname "rules.mk" | grep -v keymaps | sed 's!keyboards/\(.*\)/rules.mk!\1!' | sort | uniq)
+endif
endef
$(eval $(call GET_KEYBOARDS))