diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-04-19 23:58:42 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-04-19 23:58:42 +0800 |
commit | e6d36fe356109f718ef5420d7a9acb6f754402e4 (patch) | |
tree | c95cda8d43e61854646b285138d1267f5df6b1f7 | |
parent | ed07ffcde5ab661a9fd41045c5ec102e7839001c (diff) | |
parent | 48f23746f0f92887b6a76055e8f16c28176bc181 (diff) | |
download | go-tangerine-e6d36fe356109f718ef5420d7a9acb6f754402e4.tar go-tangerine-e6d36fe356109f718ef5420d7a9acb6f754402e4.tar.gz go-tangerine-e6d36fe356109f718ef5420d7a9acb6f754402e4.tar.bz2 go-tangerine-e6d36fe356109f718ef5420d7a9acb6f754402e4.tar.lz go-tangerine-e6d36fe356109f718ef5420d7a9acb6f754402e4.tar.xz go-tangerine-e6d36fe356109f718ef5420d7a9acb6f754402e4.tar.zst go-tangerine-e6d36fe356109f718ef5420d7a9acb6f754402e4.zip |
Merge pull request #748 from fjl/build-script-unix
Makefile: for non-gophers
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | Makefile | 22 | ||||
-rwxr-xr-x | build/env.sh | 28 |
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 $@ |