diff options
author | Michael Schwarz <michi.schwarz@gmail.com> | 2015-03-15 16:14:49 +0100 |
---|---|---|
committer | Michael Schwarz <michi.schwarz@gmail.com> | 2015-03-15 16:34:59 +0100 |
commit | fb72dca77a4d79fcb1e4b5c2536ae6feacc7381c (patch) | |
tree | 7c2b89e53eb0876d416bbe70f54849757941f181 | |
parent | e232c40ef7f25f8e73f7d6c07a18dc199a8c029a (diff) | |
download | pogojig-fb72dca77a4d79fcb1e4b5c2536ae6feacc7381c.tar.gz pogojig-fb72dca77a4d79fcb1e4b5c2536ae6feacc7381c.tar.bz2 pogojig-fb72dca77a4d79fcb1e4b5c2536ae6feacc7381c.zip |
Fix make jobserver warning.
When running the make file with a number of jobs, the following warning was generated by the make process used to parse the dependency makefile generated by OpenSCAD:
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
With this change, the variables MAKELEVEL and MAKEFLAGS are removed from the environment before starting the child make process.
-rw-r--r-- | support/lib/util.py | 13 | ||||
-rw-r--r-- | support/openscad/__main__.py | 2 |
2 files changed, 12 insertions, 3 deletions
diff --git a/support/lib/util.py b/support/lib/util.py index 8b65e58..45ecb89 100644 --- a/support/lib/util.py +++ b/support/lib/util.py @@ -15,8 +15,17 @@ def TemporaryDirectory(): shutil.rmtree(dir) -def command(args): - process = subprocess.Popen(args) +def command(args, remove_env = None): + if remove_env is None: + env = None + else: + env = dict(os.environ) + + for i in remove_env: + if i in env: + del env[i] + + process = subprocess.Popen(args, env = env) process.wait() if process.returncode: diff --git a/support/openscad/__main__.py b/support/openscad/__main__.py index bc1135d..2042a65 100644 --- a/support/openscad/__main__.py +++ b/support/openscad/__main__.py @@ -32,7 +32,7 @@ def main(in_path, out_path, deps_path): # Use make to parse the dependency makefile written by OpenSCAD. util.write_file(temp_mk_path, mk_content.encode()) - util.command(['make', '-s', '-B', '-f', temp_mk_path, '-f', temp_deps_path]) + util.command(['make', '-s', '-B', '-f', temp_mk_path, '-f', temp_deps_path], remove_env = ['MAKELEVEL', 'MAKEFLAGS']) # All dependencies as paths relative to the project root. deps = set(map(relpath, util.read_file(temp_files_path).decode().splitlines())) |