aboutsummaryrefslogtreecommitdiff
path: root/lib/python/qmk/cli/generate/rules_mk.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python/qmk/cli/generate/rules_mk.py')
-rwxr-xr-xlib/python/qmk/cli/generate/rules_mk.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/python/qmk/cli/generate/rules_mk.py b/lib/python/qmk/cli/generate/rules_mk.py
index 4268ae047..72ed3c45f 100755
--- a/lib/python/qmk/cli/generate/rules_mk.py
+++ b/lib/python/qmk/cli/generate/rules_mk.py
@@ -6,6 +6,10 @@ from qmk.decorators import automagic_keyboard, automagic_keymap
6from qmk.info import info_json 6from qmk.info import info_json
7from qmk.path import is_keyboard, normpath 7from qmk.path import is_keyboard, normpath
8 8
9info_to_rules = {
10 'bootloader': 'BOOTLOADER',
11 'processor': 'MCU'
12}
9 13
10@cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to') 14@cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to')
11@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") 15@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages")
@@ -30,6 +34,10 @@ def generate_rules_mk(cli):
30 kb_info_json = info_json(cli.config.generate_rules_mk.keyboard) 34 kb_info_json = info_json(cli.config.generate_rules_mk.keyboard)
31 rules_mk_lines = ['# This file was generated by `qmk generate-rules-mk`. Do not edit or copy.', ''] 35 rules_mk_lines = ['# This file was generated by `qmk generate-rules-mk`. Do not edit or copy.', '']
32 36
37 # Bring in settings
38 for info_key, rule_key in info_to_rules.items():
39 rules_mk_lines.append(f'{rule_key} := {kb_info_json[info_key]}')
40
33 # Find features that should be enabled 41 # Find features that should be enabled
34 if 'features' in kb_info_json: 42 if 'features' in kb_info_json:
35 for feature, enabled in kb_info_json['features'].items(): 43 for feature, enabled in kb_info_json['features'].items():
@@ -37,6 +45,11 @@ def generate_rules_mk(cli):
37 enabled = 'yes' if enabled else 'no' 45 enabled = 'yes' if enabled else 'no'
38 rules_mk_lines.append(f'{feature}_ENABLE := {enabled}') 46 rules_mk_lines.append(f'{feature}_ENABLE := {enabled}')
39 47
48 # Set the LED driver
49 if 'led_matrix' in kb_info_json and 'driver' in kb_info_json['led_matrix']:
50 driver = kb_info_json['led_matrix']['driver']
51 rules_mk_lines.append(f'LED_MATRIX_DRIVER = {driver}')
52
40 # Add community layouts 53 # Add community layouts
41 if 'community_layouts' in kb_info_json: 54 if 'community_layouts' in kb_info_json:
42 rules_mk_lines.append(f'LAYOUTS = {" ".join(kb_info_json["community_layouts"])}') 55 rules_mk_lines.append(f'LAYOUTS = {" ".join(kb_info_json["community_layouts"])}')