build: fix race in parallel build
authorBen Noordhuis <info@bnoordhuis.nl>
Mon, 7 Nov 2011 23:25:51 +0000 (00:25 +0100)
committerBen Noordhuis <info@bnoordhuis.nl>
Mon, 7 Nov 2011 23:25:54 +0000 (00:25 +0100)
Run `make clean` first, *then* `make all`

wscript

diff --git a/wscript b/wscript
index e0c6653..02ede45 100644 (file)
--- a/wscript
+++ b/wscript
@@ -634,12 +634,11 @@ def uv_cmd(bld, variant):
   #
   cmd = 'cp -r ' + sh_escape(srcdir)  + '/* ' + sh_escape(blddir)
   if not sys.platform.startswith('win32'):
-    cmd += ' && if [[ -z "$NODE_MAKE" ]]; then NODE_MAKE=make; fi; '
-    cmd += '$NODE_MAKE -C ' + sh_escape(blddir)
+    make = ('if [ -z "$NODE_MAKE" ]; then NODE_MAKE=make; fi; '
+            '$NODE_MAKE -C ' + sh_escape(blddir))
   else:
-    cmd += ' && make -C ' + sh_escape(blddir)
-  cmd += ' clean all'
-  return cmd
+    make = 'make -C ' + sh_escape(blddir)
+  return '%s && (%s clean) && (%s all)' % (cmd, make, make)
 
 
 def build_uv(bld):