diff options
Diffstat (limited to 'lib/python/qmk/commands.py')
| -rw-r--r-- | lib/python/qmk/commands.py | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py index 421453d83..5a0194377 100644 --- a/lib/python/qmk/commands.py +++ b/lib/python/qmk/commands.py | |||
| @@ -28,7 +28,7 @@ def _find_make(): | |||
| 28 | return make_cmd | 28 | return make_cmd |
| 29 | 29 | ||
| 30 | 30 | ||
| 31 | def create_make_target(target, parallel=1, **env_vars): | 31 | def create_make_target(target, dry_run=False, parallel=1, **env_vars): |
| 32 | """Create a make command | 32 | """Create a make command |
| 33 | 33 | ||
| 34 | Args: | 34 | Args: |
| @@ -36,6 +36,9 @@ def create_make_target(target, parallel=1, **env_vars): | |||
| 36 | target | 36 | target |
| 37 | Usually a make rule, such as 'clean' or 'all'. | 37 | Usually a make rule, such as 'clean' or 'all'. |
| 38 | 38 | ||
| 39 | dry_run | ||
| 40 | make -n -- don't actually build | ||
| 41 | |||
| 39 | parallel | 42 | parallel |
| 40 | The number of make jobs to run in parallel | 43 | The number of make jobs to run in parallel |
| 41 | 44 | ||
| @@ -52,10 +55,10 @@ def create_make_target(target, parallel=1, **env_vars): | |||
| 52 | for key, value in env_vars.items(): | 55 | for key, value in env_vars.items(): |
| 53 | env.append(f'{key}={value}') | 56 | env.append(f'{key}={value}') |
| 54 | 57 | ||
| 55 | return [make_cmd, *get_make_parallel_args(parallel), *env, target] | 58 | return [make_cmd, *(['-n'] if dry_run else []), *get_make_parallel_args(parallel), *env, target] |
| 56 | 59 | ||
| 57 | 60 | ||
| 58 | def create_make_command(keyboard, keymap, target=None, parallel=1, **env_vars): | 61 | def create_make_command(keyboard, keymap, target=None, dry_run=False, parallel=1, **env_vars): |
| 59 | """Create a make compile command | 62 | """Create a make compile command |
| 60 | 63 | ||
| 61 | Args: | 64 | Args: |
| @@ -69,6 +72,9 @@ def create_make_command(keyboard, keymap, target=None, parallel=1, **env_vars): | |||
| 69 | target | 72 | target |
| 70 | Usually a bootloader. | 73 | Usually a bootloader. |
| 71 | 74 | ||
| 75 | dry_run | ||
| 76 | make -n -- don't actually build | ||
| 77 | |||
| 72 | parallel | 78 | parallel |
| 73 | The number of make jobs to run in parallel | 79 | The number of make jobs to run in parallel |
| 74 | 80 | ||
| @@ -84,7 +90,7 @@ def create_make_command(keyboard, keymap, target=None, parallel=1, **env_vars): | |||
| 84 | if target: | 90 | if target: |
| 85 | make_args.append(target) | 91 | make_args.append(target) |
| 86 | 92 | ||
| 87 | return create_make_target(':'.join(make_args), parallel, **env_vars) | 93 | return create_make_target(':'.join(make_args), dry_run=dry_run, parallel=parallel, **env_vars) |
| 88 | 94 | ||
| 89 | 95 | ||
| 90 | def get_git_version(current_time, repo_dir='.', check_dir='.'): | 96 | def get_git_version(current_time, repo_dir='.', check_dir='.'): |
| @@ -184,7 +190,7 @@ def compile_configurator_json(user_keymap, bootloader=None, parallel=1, **env_va | |||
| 184 | target = f'{keyboard_filesafe}_{user_keymap["keymap"]}' | 190 | target = f'{keyboard_filesafe}_{user_keymap["keymap"]}' |
| 185 | keyboard_output = Path(f'{KEYBOARD_OUTPUT_PREFIX}{keyboard_filesafe}') | 191 | keyboard_output = Path(f'{KEYBOARD_OUTPUT_PREFIX}{keyboard_filesafe}') |
| 186 | keymap_output = Path(f'{keyboard_output}_{user_keymap["keymap"]}') | 192 | keymap_output = Path(f'{keyboard_output}_{user_keymap["keymap"]}') |
| 187 | c_text = qmk.keymap.generate_c(user_keymap['keyboard'], user_keymap['layout'], user_keymap['layers']) | 193 | c_text = qmk.keymap.generate_c(user_keymap) |
| 188 | keymap_dir = keymap_output / 'src' | 194 | keymap_dir = keymap_output / 'src' |
| 189 | keymap_c = keymap_dir / 'keymap.c' | 195 | keymap_c = keymap_dir / 'keymap.c' |
| 190 | 196 | ||
| @@ -233,7 +239,7 @@ def compile_configurator_json(user_keymap, bootloader=None, parallel=1, **env_va | |||
| 233 | f'VERBOSE={verbose}', | 239 | f'VERBOSE={verbose}', |
| 234 | f'COLOR={color}', | 240 | f'COLOR={color}', |
| 235 | 'SILENT=false', | 241 | 'SILENT=false', |
| 236 | f'QMK_BIN={"bin/qmk" if "DEPRECATED_BIN_QMK" in os.environ else "qmk"}', | 242 | 'QMK_BIN="qmk"', |
| 237 | ]) | 243 | ]) |
| 238 | 244 | ||
| 239 | return make_command | 245 | return make_command |
