From fb72dca77a4d79fcb1e4b5c2536ae6feacc7381c Mon Sep 17 00:00:00 2001 From: Michael Schwarz Date: Sun, 15 Mar 2015 16:14:49 +0100 Subject: 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. --- support/lib/util.py | 13 +++++++++++-- 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())) -- cgit