Add ability for `qmk mass-compile` to build specified targets (#20294)
parent
d31d1488e8
commit
5bb8f7ae84
|
@ -12,6 +12,7 @@ from qmk.commands import _find_make, get_make_parallel_args
|
||||||
from qmk.search import search_keymap_targets
|
from qmk.search import search_keymap_targets
|
||||||
|
|
||||||
|
|
||||||
|
@cli.argument('builds', nargs='*', arg_only=True, help="List of builds in form <keyboard>:<keymap> to compile in parallel. Specifying this overrides all other target search options.")
|
||||||
@cli.argument('-t', '--no-temp', arg_only=True, action='store_true', help="Remove temporary files during build.")
|
@cli.argument('-t', '--no-temp', arg_only=True, action='store_true', help="Remove temporary files during build.")
|
||||||
@cli.argument('-j', '--parallel', type=int, default=1, help="Set the number of parallel make jobs; 0 means unlimited.")
|
@cli.argument('-j', '--parallel', type=int, default=1, help="Set the number of parallel make jobs; 0 means unlimited.")
|
||||||
@cli.argument('-c', '--clean', arg_only=True, action='store_true', help="Remove object files before compiling.")
|
@cli.argument('-c', '--clean', arg_only=True, action='store_true', help="Remove object files before compiling.")
|
||||||
|
@ -37,7 +38,11 @@ def mass_compile(cli):
|
||||||
builddir = Path(QMK_FIRMWARE) / '.build'
|
builddir = Path(QMK_FIRMWARE) / '.build'
|
||||||
makefile = builddir / 'parallel_kb_builds.mk'
|
makefile = builddir / 'parallel_kb_builds.mk'
|
||||||
|
|
||||||
|
if len(cli.args.builds) > 0:
|
||||||
|
targets = [(e[0], e[1]) for e in [b.split(':') for b in cli.args.builds]]
|
||||||
|
else:
|
||||||
targets = search_keymap_targets(cli.args.keymap, cli.args.filter)
|
targets = search_keymap_targets(cli.args.keymap, cli.args.filter)
|
||||||
|
|
||||||
if len(targets) == 0:
|
if len(targets) == 0:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -71,9 +76,6 @@ all: {keyboard_safe}_{keymap_name}_binary
|
||||||
f"""\
|
f"""\
|
||||||
@rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.elf" 2>/dev/null || true
|
@rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.elf" 2>/dev/null || true
|
||||||
@rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.map" 2>/dev/null || true
|
@rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.map" 2>/dev/null || true
|
||||||
@rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.hex" 2>/dev/null || true
|
|
||||||
@rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.bin" 2>/dev/null || true
|
|
||||||
@rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.uf2" 2>/dev/null || true
|
|
||||||
@rm -rf "{QMK_FIRMWARE}/.build/obj_{keyboard_safe}" || true
|
@rm -rf "{QMK_FIRMWARE}/.build/obj_{keyboard_safe}" || true
|
||||||
@rm -rf "{QMK_FIRMWARE}/.build/obj_{keyboard_safe}_{keymap_name}" || true
|
@rm -rf "{QMK_FIRMWARE}/.build/obj_{keyboard_safe}_{keymap_name}" || true
|
||||||
"""# noqa
|
"""# noqa
|
||||||
|
|
Loading…
Reference in New Issue