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
This commit is contained in:
parent
54a8262dfe
commit
eaa9106ec7
12 changed files with 19 additions and 9 deletions
|
@ -7,6 +7,7 @@ from qmk.info import info_json
|
|||
from qmk.path import is_keyboard, normpath
|
||||
|
||||
info_to_rules = {
|
||||
'board': 'BOARD',
|
||||
'bootloader': 'BOOTLOADER',
|
||||
'processor': 'MCU',
|
||||
}
|
||||
|
@ -37,7 +38,8 @@ def generate_rules_mk(cli):
|
|||
|
||||
# Bring in settings
|
||||
for info_key, rule_key in info_to_rules.items():
|
||||
rules_mk_lines.append(f'{rule_key} ?= {kb_info_json[info_key]}')
|
||||
if info_key in kb_info_json:
|
||||
rules_mk_lines.append(f'{rule_key} ?= {kb_info_json[info_key]}')
|
||||
|
||||
# Find features that should be enabled
|
||||
if 'features' in kb_info_json:
|
||||
|
|
|
@ -462,7 +462,7 @@ def _extract_rules_mk(info_data):
|
|||
"""Pull some keyboard information from existing rules.mk files
|
||||
"""
|
||||
rules = rules_mk(info_data['keyboard_folder'])
|
||||
mcu = rules.get('MCU')
|
||||
mcu = rules.get('MCU', info_data.get('processor'))
|
||||
|
||||
if mcu in CHIBIOS_PROCESSORS:
|
||||
arm_processor_rules(info_data, rules)
|
||||
|
@ -594,6 +594,12 @@ def arm_processor_rules(info_data, rules):
|
|||
elif 'ARM_ATSAM' in rules:
|
||||
info_data['platform'] = 'ARM_ATSAM'
|
||||
|
||||
if 'BOARD' in rules:
|
||||
if 'board' in info_data:
|
||||
_log_warning(info_data, 'Board is specified in both info.json and rules.mk, the rules.mk value wins.')
|
||||
|
||||
info_data['board'] = rules['BOARD']
|
||||
|
||||
return info_data
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue