diff --git a/lib-src/lv2/build b/lib-src/lv2/build
index 3ef13a0..5cd7506 100755
--- a/lib-src/lv2/build
+++ b/lib-src/lv2/build
@@ -16,29 +16,31 @@ function waf
    pkg=$1
    pushd >/dev/null ${pkg}
    shift
-   $(which python python2 | tail -1) waf --prefix="." --include="." $@ build || exit 1
+   @@PYTHON@@ waf --prefix="." --include="." $@ build || exit 1
    popd >/dev/null 
 
    . .buildvars
 
    if [ -e ${pkg}/build/*.a ]
    then
-      mkdir -p obj
-      pushd obj
+      mkdir -p obj.${pkg}
+      pushd obj.${pkg}
       ar vx ../${pkg}/build/*.a
-      ar vq ../liblv2.a *
       popd
-      rm -rf obj
    fi
 }
 
 [ -e liblv2.a ] && exit 0
 
-waf lv2    --no-plugins
-waf serd   --static --no-shared --no-utils
-waf sord   --static --no-shared --no-utils
-waf sratom --static --no-shared
-waf lilv   --static --no-shared --no-utils
-waf suil   --static --no-shared --no-qt
+waf lv2    -vvv --no-plugins
+waf serd   -vvv --static --no-shared --no-utils
+waf sord   -vvv --static --no-shared --no-utils
+waf sratom -vvv --static --no-shared
+waf lilv   -vvv --static --no-shared --no-utils
+waf suil   -vvv --static --no-shared --no-qt
+
+# now create liblv2.a in a single call
+libtool -static -o liblv2.a obj.serd/*.o obj.sord/*.o obj.sratom/*.o obj.lilv/*.o obj.suil/*.o
+ar -sv liblv2.a
 
 exit 0
diff --git a/lib-src/lv2/configure b/lib-src/lv2/configure
index 05ddb59..488883e 100755
--- a/lib-src/lv2/configure
+++ b/lib-src/lv2/configure
@@ -31,7 +31,7 @@ function waf
       fi
    done
 
-   $(which python python2 | tail -1) waf --prefix="." --include="." $@ configure || exit 1
+   @@PYTHON@@ waf --prefix="." --include="." $@ configure || exit 1
    popd >/dev/null
 
    if [ "${pkg}" == "lv2" ]