diff options
author | Zach White <skullydazed@gmail.com> | 2020-12-30 10:27:37 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-30 10:27:37 -0800 |
commit | 47b9b110097a864d6ab76516b2213afd59948527 (patch) | |
tree | 44c4e034c71b361af0cf865b735e09162bbc9656 /build_keyboard.mk | |
parent | f231f24ddaac9781201a4ec9d0171c65af788839 (diff) | |
download | qmk_firmware-47b9b110097a864d6ab76516b2213afd59948527.tar.gz qmk_firmware-47b9b110097a864d6ab76516b2213afd59948527.zip |
Configure keyboard matrix from info.json (#10817)
* Make parameters from info.json available to the build system
* move all clueboard settings to info.json
* code formatting
* make flake8 happy
* make flake8 happy
* make qmk lint happy
* Add support for specifying led indicators in json
* move led indicators to the clueboard info.json
* Apply suggestions from code review
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
* add missing docstring
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
Diffstat (limited to 'build_keyboard.mk')
-rw-r--r-- | build_keyboard.mk | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/build_keyboard.mk b/build_keyboard.mk index 8d018f2e3..816681bd0 100644 --- a/build_keyboard.mk +++ b/build_keyboard.mk | |||
@@ -90,13 +90,16 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_1)/rules.mk)","") | |||
90 | include $(KEYBOARD_PATH_1)/rules.mk | 90 | include $(KEYBOARD_PATH_1)/rules.mk |
91 | endif | 91 | endif |
92 | 92 | ||
93 | |||
94 | MAIN_KEYMAP_PATH_1 := $(KEYBOARD_PATH_1)/keymaps/$(KEYMAP) | 93 | MAIN_KEYMAP_PATH_1 := $(KEYBOARD_PATH_1)/keymaps/$(KEYMAP) |
95 | MAIN_KEYMAP_PATH_2 := $(KEYBOARD_PATH_2)/keymaps/$(KEYMAP) | 94 | MAIN_KEYMAP_PATH_2 := $(KEYBOARD_PATH_2)/keymaps/$(KEYMAP) |
96 | MAIN_KEYMAP_PATH_3 := $(KEYBOARD_PATH_3)/keymaps/$(KEYMAP) | 95 | MAIN_KEYMAP_PATH_3 := $(KEYBOARD_PATH_3)/keymaps/$(KEYMAP) |
97 | MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP) | 96 | MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP) |
98 | MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP) | 97 | MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP) |
99 | 98 | ||
99 | # Pull in rules from info.json | ||
100 | INFO_RULES_MK = $(shell bin/qmk generate-rules-mk --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/rules.mk) | ||
101 | include $(INFO_RULES_MK) | ||
102 | |||
100 | # Check for keymap.json first, so we can regenerate keymap.c | 103 | # Check for keymap.json first, so we can regenerate keymap.c |
101 | include build_json.mk | 104 | include build_json.mk |
102 | 105 | ||
@@ -290,6 +293,32 @@ ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","") | |||
290 | CONFIG_H += $(KEYMAP_PATH)/config.h | 293 | CONFIG_H += $(KEYMAP_PATH)/config.h |
291 | endif | 294 | endif |
292 | 295 | ||
296 | # Pull in stuff from info.json | ||
297 | INFO_JSON_FILES := | ||
298 | ifneq ("$(wildcard $(KEYBOARD_PATH_1)/info.json)","") | ||
299 | INFO_JSON_FILES += $(KEYBOARD_PATH_1)/info.json | ||
300 | endif | ||
301 | ifneq ("$(wildcard $(KEYBOARD_PATH_2)/info.json)","") | ||
302 | INFO_JSON_FILES += $(KEYBOARD_PATH_2)/info.json | ||
303 | endif | ||
304 | ifneq ("$(wildcard $(KEYBOARD_PATH_3)/info.json)","") | ||
305 | INFO_JSON_FILES += $(KEYBOARD_PATH_3)/info.json | ||
306 | endif | ||
307 | ifneq ("$(wildcard $(KEYBOARD_PATH_4)/info.json)","") | ||
308 | INFO_JSON_FILES += $(KEYBOARD_PATH_4)/info.json | ||
309 | endif | ||
310 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/info.json)","") | ||
311 | INFO_JSON_FILES += $(KEYBOARD_PATH_5)/info.json | ||
312 | endif | ||
313 | |||
314 | CONFIG_H += $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h | ||
315 | |||
316 | $(KEYBOARD_OUTPUT)/src/info_config.h: $(INFO_JSON_FILES) | ||
317 | bin/qmk generate-config-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/info_config.h | ||
318 | |||
319 | $(KEYBOARD_OUTPUT)/src/layouts.h: $(INFO_JSON_FILES) | ||
320 | bin/qmk generate-layouts --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/layouts.h | ||
321 | |||
293 | # project specific files | 322 | # project specific files |
294 | SRC += $(KEYBOARD_SRC) \ | 323 | SRC += $(KEYBOARD_SRC) \ |
295 | $(KEYMAP_C) \ | 324 | $(KEYMAP_C) \ |
@@ -364,7 +393,7 @@ all: | |||
364 | echo "skipped" >&2 | 393 | echo "skipped" >&2 |
365 | endif | 394 | endif |
366 | 395 | ||
367 | build: elf cpfirmware | 396 | build: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h elf cpfirmware |
368 | check-size: build | 397 | check-size: build |
369 | objs-size: build | 398 | objs-size: build |
370 | 399 | ||