forked from cosmos/cosmos-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
71 lines (52 loc) · 1.99 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
GOTOOLS = github.com/mitchellh/gox \
github.com/Masterminds/glide \
github.com/rigelrozanski/shelldown/cmd/shelldown
TUTORIALS=$(shell find docs/guide -name "*md" -type f)
EXAMPLES := counter eyes basecoin
INSTALL_EXAMPLES := $(addprefix install_,${EXAMPLES})
TEST_EXAMPLES := $(addprefix testex_,${EXAMPLES})
LINKER_FLAGS:="-X github.com/cosmos/cosmos-sdk/client/commands.CommitHash=`git rev-parse --short HEAD`"
all: get_vendor_deps install test
build:
@go build ./cmd/...
$(INSTALL_EXAMPLES): install_%:
cd ./examples/$* && make install
$(TEST_EXAMPLES): testex_%:
cd ./examples/$* && make test_cli
install: $(INSTALL_EXAMPLES)
@go install -ldflags $(LINKER_FLAGS) ./cmd/...
dist:
@bash publish/dist.sh
@bash publish/publish.sh
benchmark:
@go test -bench=. ./modules/...
#test: test_unit test_cli test_tutorial
test: test_unit test_cli
test_unit:
@go test `glide novendor`
test_cli: $(TEST_EXAMPLES)
# sudo apt-get install jq
# wget "https://raw.githubusercontent.com/kward/shunit2/master/source/2.1/src/shunit2"
test_tutorial:
@shelldown ${TUTORIALS}
@for script in docs/guide/*.sh ; do \
bash $$script ; \
done
get_vendor_deps: tools
@glide install
build-docker:
@docker run -it --rm -v "$(PWD):/go/src/github.com/tendermint/basecoin" -w \
"/go/src/github.com/tendermint/basecoin" -e "CGO_ENABLED=0" golang:alpine go build ./cmd/basecoin
@docker build -t "tendermint/basecoin" .
tools:
@go get $(GOTOOLS)
clean:
# maybe cleaning up cache and vendor is overkill, but sometimes
# you don't get the most recent versions with lots of branches, changes, rebases...
@rm -rf ~/.glide/cache/src/https-github.com-tendermint-*
@rm -rf ./vendor
@rm -f $GOPATH/bin/{basecoin,basecli,counter,countercli}
# when your repo is getting a little stale... just make fresh
fresh: clean get_vendor_deps install
@if [ "$(git status -s)" ]; then echo; echo "Warning: uncommited changes"; git status -s; fi
.PHONY: all build install test test_cli test_unit get_vendor_deps build-docker clean fresh benchmark