diff --git a/SoftU2F b/SoftU2F
index 1300666..d67857c 160000
--- a/SoftU2F
+++ b/SoftU2F
@@ -1 +1 @@
-Subproject commit 1300666ca09bba3d73975122b874e1f0efdda612
+Subproject commit d67857c56a371dd23420713bb55cb1ec39ece9c6
diff --git a/SoftU2FTool.xcodeproj/xcuserdata/benjaminptoews.xcuserdatad/xcschemes/xcschememanagement.plist b/SoftU2FTool.xcodeproj/xcuserdata/benjaminptoews.xcuserdatad/xcschemes/xcschememanagement.plist
index 388d001..6e55673 100644
--- a/SoftU2FTool.xcodeproj/xcuserdata/benjaminptoews.xcuserdatad/xcschemes/xcschememanagement.plist
+++ b/SoftU2FTool.xcodeproj/xcuserdata/benjaminptoews.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -7,7 +7,7 @@
SoftU2FTool.xcscheme
orderHint
- 0
+ 1
SuppressBuildableAutocreation
diff --git a/script/build b/script/build
new file mode 100755
index 0000000..ab85da2
--- /dev/null
+++ b/script/build
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+set -e
+
+REPO_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../" && pwd )"
+BUILD_DIR=$REPO_DIR/build
+
+# Build softu2f.kext
+$REPO_DIR/SoftU2F/script/build
+
+echo "Building SoftU2FTool.app"
+if ! xcodebuild -scheme SoftU2FTool -project SoftU2FTool.xcodeproj SYMROOT=$BUILD_DIR &> /dev/null; then
+ echo "Error building SoftU2FTool.app"
+ exit 1
+fi
+echo "Built SoftU2FTool.app"
diff --git a/script/run b/script/run
new file mode 100755
index 0000000..792cc88
--- /dev/null
+++ b/script/run
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+set -e
+
+REPO_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../" && pwd )"
+BUILD_DIR=$REPO_DIR/build
+
+# Load softu2f.kext
+$REPO_DIR/SoftU2F/script/load
+
+# Run it
+$BUILD_DIR/Debug/SoftU2FTool.app/Contents/MacOS/SoftU2FTool