diff options
Diffstat (limited to 'lib/python/qmk/commands.py')
| -rw-r--r-- | lib/python/qmk/commands.py | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py index 8c66228b2..421453d83 100644 --- a/lib/python/qmk/commands.py +++ b/lib/python/qmk/commands.py | |||
| @@ -52,7 +52,7 @@ def create_make_target(target, parallel=1, **env_vars): | |||
| 52 | for key, value in env_vars.items(): | 52 | for key, value in env_vars.items(): |
| 53 | env.append(f'{key}={value}') | 53 | env.append(f'{key}={value}') |
| 54 | 54 | ||
| 55 | return [make_cmd, '-j', str(parallel), *env, target] | 55 | return [make_cmd, *get_make_parallel_args(parallel), *env, target] |
| 56 | 56 | ||
| 57 | 57 | ||
| 58 | def create_make_command(keyboard, keymap, target=None, parallel=1, **env_vars): | 58 | def create_make_command(keyboard, keymap, target=None, parallel=1, **env_vars): |
| @@ -112,6 +112,24 @@ def get_git_version(current_time, repo_dir='.', check_dir='.'): | |||
| 112 | return current_time | 112 | return current_time |
| 113 | 113 | ||
| 114 | 114 | ||
| 115 | def get_make_parallel_args(parallel=1): | ||
| 116 | """Returns the arguments for running the specified number of parallel jobs. | ||
| 117 | """ | ||
| 118 | parallel_args = [] | ||
| 119 | |||
| 120 | if int(parallel) <= 0: | ||
| 121 | # 0 or -1 means -j without argument (unlimited jobs) | ||
| 122 | parallel_args.append('--jobs') | ||
| 123 | else: | ||
| 124 | parallel_args.append('--jobs=' + str(parallel)) | ||
| 125 | |||
| 126 | if int(parallel) != 1: | ||
| 127 | # If more than 1 job is used, synchronize parallel output by target | ||
| 128 | parallel_args.append('--output-sync=target') | ||
| 129 | |||
| 130 | return parallel_args | ||
| 131 | |||
| 132 | |||
| 115 | def create_version_h(skip_git=False, skip_all=False): | 133 | def create_version_h(skip_git=False, skip_all=False): |
| 116 | """Generate version.h contents | 134 | """Generate version.h contents |
| 117 | """ | 135 | """ |
| @@ -185,8 +203,7 @@ def compile_configurator_json(user_keymap, bootloader=None, parallel=1, **env_va | |||
| 185 | make_command.append('-s') | 203 | make_command.append('-s') |
| 186 | 204 | ||
| 187 | make_command.extend([ | 205 | make_command.extend([ |
| 188 | '-j', | 206 | *get_make_parallel_args(parallel), |
| 189 | str(parallel), | ||
| 190 | '-r', | 207 | '-r', |
| 191 | '-R', | 208 | '-R', |
| 192 | '-f', | 209 | '-f', |
