aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorZach White <skullydazed@gmail.com>2021-01-09 20:18:47 -0800
committerGitHub <noreply@github.com>2021-01-09 20:18:47 -0800
commiteaa9106ec74591593e638ac015a5c90d17b30612 (patch)
tree086c66b1ad3353c28a35489b6d17be32298b7bdd /lib
parent54a8262dfe3b3bf5e27024e1fdb18448bac53408 (diff)
downloadqmk_firmware-eaa9106ec74591593e638ac015a5c90d17b30612.tar.gz
qmk_firmware-eaa9106ec74591593e638ac015a5c90d17b30612.zip
Add support for specifying BOARD in info.json (#11492)
* add support for specifying BOARD in info.json * move BOARD from rules.mk to info.json for clueboard * fix keyboards that do not require board * remove out of compliance values
Diffstat (limited to 'lib')
-rwxr-xr-xlib/python/qmk/cli/generate/rules_mk.py4
-rw-r--r--lib/python/qmk/info.py8
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/python/qmk/cli/generate/rules_mk.py b/lib/python/qmk/cli/generate/rules_mk.py
index 0fdccb404..b262e3c66 100755
--- a/lib/python/qmk/cli/generate/rules_mk.py
+++ b/lib/python/qmk/cli/generate/rules_mk.py
@@ -7,6 +7,7 @@ from qmk.info import info_json
7from qmk.path import is_keyboard, normpath 7from qmk.path import is_keyboard, normpath
8 8
9info_to_rules = { 9info_to_rules = {
10 'board': 'BOARD',
10 'bootloader': 'BOOTLOADER', 11 'bootloader': 'BOOTLOADER',
11 'processor': 'MCU', 12 'processor': 'MCU',
12} 13}
@@ -37,7 +38,8 @@ def generate_rules_mk(cli):
37 38
38 # Bring in settings 39 # Bring in settings
39 for info_key, rule_key in info_to_rules.items(): 40 for info_key, rule_key in info_to_rules.items():
40 rules_mk_lines.append(f'{rule_key} ?= {kb_info_json[info_key]}') 41 if info_key in kb_info_json:
42 rules_mk_lines.append(f'{rule_key} ?= {kb_info_json[info_key]}')
41 43
42 # Find features that should be enabled 44 # Find features that should be enabled
43 if 'features' in kb_info_json: 45 if 'features' in kb_info_json:
diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py
index 0ea5136a9..cc81f7a08 100644
--- a/lib/python/qmk/info.py
+++ b/lib/python/qmk/info.py
@@ -462,7 +462,7 @@ def _extract_rules_mk(info_data):
462 """Pull some keyboard information from existing rules.mk files 462 """Pull some keyboard information from existing rules.mk files
463 """ 463 """
464 rules = rules_mk(info_data['keyboard_folder']) 464 rules = rules_mk(info_data['keyboard_folder'])
465 mcu = rules.get('MCU') 465 mcu = rules.get('MCU', info_data.get('processor'))
466 466
467 if mcu in CHIBIOS_PROCESSORS: 467 if mcu in CHIBIOS_PROCESSORS:
468 arm_processor_rules(info_data, rules) 468 arm_processor_rules(info_data, rules)
@@ -594,6 +594,12 @@ def arm_processor_rules(info_data, rules):
594 elif 'ARM_ATSAM' in rules: 594 elif 'ARM_ATSAM' in rules:
595 info_data['platform'] = 'ARM_ATSAM' 595 info_data['platform'] = 'ARM_ATSAM'
596 596
597 if 'BOARD' in rules:
598 if 'board' in info_data:
599 _log_warning(info_data, 'Board is specified in both info.json and rules.mk, the rules.mk value wins.')
600
601 info_data['board'] = rules['BOARD']
602
597 return info_data 603 return info_data
598 604
599 605