diff options
author | Joel Challis <git@zvecr.com> | 2019-08-15 22:03:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-15 22:03:26 +0100 |
commit | 9813a6f950b46277eb29c54105809767cc0daa65 (patch) | |
tree | b83554648b2f06f4ab11ac47c55815f37e9e924d | |
parent | fadb69e2031a259248dd575384da8846ba0c2aa3 (diff) | |
download | qmk_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
-rw-r--r-- | Makefile | 9 | ||||
-rwxr-xr-x | util/docker_build.sh | 8 |
2 files changed, 15 insertions, 2 deletions
@@ -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)) diff --git a/util/docker_build.sh b/util/docker_build.sh index 6feeb1f5d2..f36d5bcde5 100755 --- a/util/docker_build.sh +++ b/util/docker_build.sh @@ -46,5 +46,11 @@ fi dir=$(pwd -W 2>/dev/null) || dir=$PWD # Use Windows path if on Windows # Run container and build firmware -docker run --rm -it $usb_args -w /qmk_firmware/ -v "$dir":/qmk_firmware qmkfm/base_container \ +docker run --rm -it $usb_args \ + -w /qmk_firmware/ \ + -v "$dir":/qmk_firmware \ + -e ALT_GET_KEYBOARDS=true \ + -e SKIP_GIT="$SKIP_GIT" \ + -e MAKEFLAGS="$MAKEFLAGS" \ + qmkfm/base_container \ make "$keyboard${keymap:+:$keymap}${target:+:$target}" |