diff options
| author | skullydazed <skullydazed@users.noreply.github.com> | 2019-07-15 12:14:27 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-07-15 12:14:27 -0700 |
| commit | a25dd58bc56b0c4010673723ac44eaff914979bb (patch) | |
| tree | e4c08289df1b72db4ef8447ab7fdc13f604cffac /build_json.mk | |
| parent | 7ba82cb5b751d69dda6cc77ec8877c89defad3e4 (diff) | |
| download | qmk_firmware-a25dd58bc56b0c4010673723ac44eaff914979bb.tar.gz qmk_firmware-a25dd58bc56b0c4010673723ac44eaff914979bb.zip | |
QMK CLI and JSON keymap support (#6176)
* Script to generate keymap.c from JSON file.
* Support for keymap.json
* Add a warning about the keymap.c getting overwritten.
* Fix keymap generating
* Install the python deps
* Flesh out more of the python environment
* Remove defunct json2keymap
* Style everything with yapf
* Polish up python support
* Hide json keymap.c into the .build dir
* Polish up qmk-compile-json
* Make milc work with positional arguments
* Fix a couple small things
* Fix some errors and make the CLI more understandable
* Make the qmk wrapper more robust
* Add basic QMK Doctor
* Clean up docstrings and flesh them out as needed
* remove unused compile_firmware() function
Diffstat (limited to 'build_json.mk')
| -rw-r--r-- | build_json.mk | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/build_json.mk b/build_json.mk new file mode 100644 index 000000000..2e23ed148 --- /dev/null +++ b/build_json.mk | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | # Look for a json keymap file | ||
| 2 | ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.json)","") | ||
| 3 | KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c | ||
| 4 | KEYMAP_JSON := $(MAIN_KEYMAP_PATH_5)/keymap.json | ||
| 5 | KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) | ||
| 6 | else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.json)","") | ||
| 7 | KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c | ||
| 8 | KEYMAP_JSON := $(MAIN_KEYMAP_PATH_4)/keymap.json | ||
| 9 | KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) | ||
| 10 | else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.json)","") | ||
| 11 | KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c | ||
| 12 | KEYMAP_JSON := $(MAIN_KEYMAP_PATH_3)/keymap.json | ||
| 13 | KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) | ||
| 14 | else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.json)","") | ||
| 15 | KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c | ||
| 16 | KEYMAP_JSON := $(MAIN_KEYMAP_PATH_2)/keymap.json | ||
| 17 | KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) | ||
| 18 | else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","") | ||
| 19 | KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c | ||
| 20 | KEYMAP_JSON := $(MAIN_KEYMAP_PATH_1)/keymap.json | ||
| 21 | KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) | ||
| 22 | endif | ||
| 23 | |||
| 24 | # Generate the keymap.c | ||
| 25 | ifneq ("$(KEYMAP_JSON)","") | ||
| 26 | _ = $(shell bin/qmk-json-keymap -f $(KEYMAP_JSON) -o $(KEYMAP_C)) | ||
| 27 | endif | ||
