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', |