aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--Makefile22
-rwxr-xr-xbuild/env.sh28
3 files changed, 55 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e72867f28..43061642a 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 000000000..1fdc36f98
--- /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 000000000..b28ad6259
--- /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 $@