summaryrefslogtreecommitdiff
path: root/build_json.mk
diff options
context:
space:
mode:
authorskullydazed <skullydazed@users.noreply.github.com>2019-07-15 12:14:27 -0700
committerFlorian Didron <fdidron@users.noreply.github.com>2019-07-19 10:05:36 +0900
commit7e080e7ecd6dff6f06579ce8b1623bc22326e166 (patch)
treeb5b45a7f6ebe4c60e9ae1835b2c8873178ccd592 /build_json.mk
parent1879c6e7342c78995b38dfbd62cd4504cc40b39f (diff)
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.mk27
1 files changed, 27 insertions, 0 deletions
diff --git a/build_json.mk b/build_json.mk
new file mode 100644
index 0000000000..2e23ed1489
--- /dev/null
+++ b/build_json.mk
@@ -0,0 +1,27 @@
+# Look for a json keymap file
+ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.json)","")
+ KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
+ KEYMAP_JSON := $(MAIN_KEYMAP_PATH_5)/keymap.json
+ KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5)
+else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.json)","")
+ KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
+ KEYMAP_JSON := $(MAIN_KEYMAP_PATH_4)/keymap.json
+ KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4)
+else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.json)","")
+ KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
+ KEYMAP_JSON := $(MAIN_KEYMAP_PATH_3)/keymap.json
+ KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3)
+else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.json)","")
+ KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
+ KEYMAP_JSON := $(MAIN_KEYMAP_PATH_2)/keymap.json
+ KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2)
+else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","")
+ KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
+ KEYMAP_JSON := $(MAIN_KEYMAP_PATH_1)/keymap.json
+ KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1)
+endif
+
+# Generate the keymap.c
+ifneq ("$(KEYMAP_JSON)","")
+ _ = $(shell bin/qmk-json-keymap -f $(KEYMAP_JSON) -o $(KEYMAP_C))
+endif