if makeflags is None:
return
jobs_set = False
+ jobs = None
# we need to use shlex.split to cope with the escaping of spaces
# in makeflags
for opt in shlex.split(makeflags):
setattr(Options.options, opt[0:loc], opt[loc+1:])
elif opt[0] != '-':
for v in opt:
- if v == 'j':
+ if re.search(r'j[0-9]*$', v):
jobs_set = True
+ jobs = opt.strip('j')
elif v == 'k':
Options.options.keep = True
- elif opt == '-j':
+ elif re.search(r'-j[0-9]*$', opt):
jobs_set = True
+ jobs = opt.strip('-j')
elif opt == '-k':
Options.options.keep = True
if not jobs_set:
# default to one job
Options.options.jobs = 1
+ elif jobs_set and jobs:
+ Options.options.jobs = int(jobs)
Build.BuildContext.CHECK_MAKEFLAGS = CHECK_MAKEFLAGS