From 5bb8f7ae84a7de060d6b04bfa875c6a922777116 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 29 Mar 2023 21:26:05 +1100 Subject: [PATCH] Add ability for `qmk mass-compile` to build specified targets (#20294) --- lib/python/qmk/cli/mass_compile.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/python/qmk/cli/mass_compile.py b/lib/python/qmk/cli/mass_compile.py index 941e6aa411..909118790c 100755 --- a/lib/python/qmk/cli/mass_compile.py +++ b/lib/python/qmk/cli/mass_compile.py @@ -12,6 +12,7 @@ from qmk.commands import _find_make, get_make_parallel_args from qmk.search import search_keymap_targets +@cli.argument('builds', nargs='*', arg_only=True, help="List of builds in form : 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('-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.") @@ -37,7 +38,11 @@ def mass_compile(cli): builddir = Path(QMK_FIRMWARE) / '.build' makefile = builddir / 'parallel_kb_builds.mk' - targets = search_keymap_targets(cli.args.keymap, cli.args.filter) + 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) + if len(targets) == 0: return @@ -71,9 +76,6 @@ all: {keyboard_safe}_{keymap_name}_binary f"""\ @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}.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}_{keymap_name}" || true """# noqa