diff --git a/.gitignore b/.gitignore
index e72867f2872aeaf4266004816368c99a647720a9..43061642a61d1e3810d093a8ca9d3e6a2cd67acc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,3 +27,8 @@ mist
 cmd/mist/mist
 deploy/osx/Mist.app
 deploy/osx/Mist\ Installer.dmg
+
+# used by the Makefile
+/build/_workspace/
+/build/bin/
+
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..1fdc36f98e22d4b04a65ecf73ea8459db56204d5
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,22 @@
+# This Makefile is meant to be used by people that do not usually work
+# with Go source code. If you know what GOPATH is then you probably
+# don't need to bother with make.
+#
+# Note that there is no way to run the tests or do anything other than
+# building the binaries. This is by design.
+
+.PHONY: geth mist clean
+GOBIN = build/bin
+
+geth:
+	build/env.sh go install -v github.com/ethereum/go-ethereum/cmd/geth
+	@echo "Done building."
+	@echo "Run \"$(GOBIN)/geth\" to launch geth."
+
+mist:
+	build/env.sh go install -v github.com/ethereum/go-ethereum/cmd/mist
+	@echo "Done building."
+	@echo "Run \"$(GOBIN)/mist --asset_path=cmd/mist/assets\" to launch mist."
+
+clean:
+	rm -fr build/_workspace/pkg/ $(GOBIN)/*
diff --git a/build/env.sh b/build/env.sh
new file mode 100755
index 0000000000000000000000000000000000000000..b28ad6259d11e9332f26e8a55d6779387d56ab66
--- /dev/null
+++ b/build/env.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+set -e
+
+if [ ! -f "build/env.sh" ]; then
+    echo "$0 must be run from the root of the repository."
+    exit 2
+fi
+
+# Create fake Go workspace if it doesn't exist yet.
+workspace="$PWD/build/_workspace"
+root="$PWD"
+ethdir="$workspace/src/github.com/ethereum"
+if [ ! -L "$ethdir/go-ethereum" ]; then
+    mkdir -p "$ethdir"
+    cd "$ethdir"
+    ln -s ../../../../../. go-ethereum
+    cd "$root"
+fi
+
+# Set up the environment to use the workspace.
+# Also add Godeps workspace so we build using canned dependencies.
+GOPATH="$ethdir/go-ethereum/Godeps/_workspace:$workspace"
+GOBIN="$PWD/build/bin"
+export GOPATH GOBIN
+
+# Launch the arguments with the configured environment.
+exec $@