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
# 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))
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))
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}"