X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=Makefile;h=c2c7267c36af18bbf80553ad3c88c15bdf7be0fd;hb=HEAD;hp=4a8d51097ac70c7cb8e239258c2cef0e551428c8;hpb=10ac0964de46b1753c1b4977c18ac7d54940544a;p=bytom%2Fbytom.git diff --git a/Makefile b/Makefile index 4a8d5109..c2c7267c 100644 --- a/Makefile +++ b/Makefile @@ -5,15 +5,13 @@ ifeq ($(UNAME_S),Darwin) else ifeq ($(UNAME_S),Linux) GOOS := linux else -$(error "$$GOOS is not defined.") + GOOS := windows endif endif -PACKAGES := $(shell go list ./... | grep -v '/vendor/') -BUILD_FLAGS := -ldflags "-X github.com/bytom/version.GitCommit=`git rev-parse HEAD`" +PACKAGES := $(shell go list ./... | grep -v '/lib/') -MINER_BINARY32 := miner-$(GOOS)_386 -MINER_BINARY64 := miner-$(GOOS)_amd64 +BUILD_FLAGS := -ldflags "-X github.com/bytom/bytom/version.GitCommit=`git rev-parse HEAD`" BYTOMD_BINARY32 := bytomd-$(GOOS)_386 BYTOMD_BINARY64 := bytomd-$(GOOS)_amd64 @@ -23,9 +21,6 @@ BYTOMCLI_BINARY64 := bytomcli-$(GOOS)_amd64 VERSION := $(shell awk -F= '/Version =/ {print $$2}' version/version.go | tr -d "\" ") -MINER_RELEASE32 := miner-$(VERSION)-$(GOOS)_386 -MINER_RELEASE64 := miner-$(VERSION)-$(GOOS)_amd64 - BYTOMD_RELEASE32 := bytomd-$(VERSION)-$(GOOS)_386 BYTOMD_RELEASE64 := bytomd-$(VERSION)-$(GOOS)_amd64 @@ -35,7 +30,7 @@ BYTOMCLI_RELEASE64 := bytomcli-$(VERSION)-$(GOOS)_amd64 BYTOM_RELEASE32 := bytom-$(VERSION)-$(GOOS)_386 BYTOM_RELEASE64 := bytom-$(VERSION)-$(GOOS)_amd64 -all: test target release-all +all: test target release-all install bytomd: @echo "Building bytomd to cmd/bytomd/bytomd" @@ -45,33 +40,36 @@ bytomcli: @echo "Building bytomcli to cmd/bytomcli/bytomcli" @go build $(BUILD_FLAGS) -o cmd/bytomcli/bytomcli cmd/bytomcli/main.go +install: + @echo "Installing bytomd and bytomcli to $(GOPATH)/bin" + @go install ./cmd/bytomd + @go install ./cmd/bytomcli + target: mkdir -p $@ -binary: target/$(BYTOMD_BINARY32) target/$(BYTOMD_BINARY64) target/$(BYTOMCLI_BINARY32) target/$(BYTOMCLI_BINARY64) target/$(MINER_BINARY32) target/$(MINER_BINARY64) +binary: target/$(BYTOMD_BINARY32) target/$(BYTOMD_BINARY64) target/$(BYTOMCLI_BINARY32) target/$(BYTOMCLI_BINARY64) ifeq ($(GOOS),windows) release: binary - cd target && cp -f $(MINER_BINARY32) $(MINER_BINARY32).exe cd target && cp -f $(BYTOMD_BINARY32) $(BYTOMD_BINARY32).exe cd target && cp -f $(BYTOMCLI_BINARY32) $(BYTOMCLI_BINARY32).exe - cd target && md5sum $(MINER_BINARY32).exe $(BYTOMD_BINARY32).exe $(BYTOMCLI_BINARY32).exe >$(BYTOM_RELEASE32).md5 - cd target && zip $(BYTOM_RELEASE32).zip $(MINER_BINARY32).exe $(BYTOMD_BINARY32).exe $(BYTOMCLI_BINARY32).exe $(BYTOM_RELEASE32).md5 - cd target && rm -f $(MINER_BINARY32) $(BYTOMD_BINARY32) $(BYTOMCLI_BINARY32) $(MINER_BINARY32).exe $(BYTOMD_BINARY32).exe $(BYTOMCLI_BINARY32).exe $(BYTOM_RELEASE32).md5 - cd target && cp -f $(MINER_BINARY64) $(MINER_BINARY64).exe + cd target && md5sum $(BYTOMD_BINARY32).exe $(BYTOMCLI_BINARY32).exe >$(BYTOM_RELEASE32).md5 + cd target && zip $(BYTOM_RELEASE32).zip $(BYTOMD_BINARY32).exe $(BYTOMCLI_BINARY32).exe $(BYTOM_RELEASE32).md5 + cd target && rm -f $(BYTOMD_BINARY32) $(BYTOMCLI_BINARY32) $(BYTOMD_BINARY32).exe $(BYTOMCLI_BINARY32).exe $(BYTOM_RELEASE32).md5 cd target && cp -f $(BYTOMD_BINARY64) $(BYTOMD_BINARY64).exe cd target && cp -f $(BYTOMCLI_BINARY64) $(BYTOMCLI_BINARY64).exe - cd target && md5sum $(MINER_BINARY64).exe $(BYTOMD_BINARY64).exe $(BYTOMCLI_BINARY64).exe >$(BYTOM_RELEASE64).md5 - cd target && zip $(BYTOM_RELEASE64).zip $(MINER_BINARY64).exe $(BYTOMD_BINARY64).exe $(BYTOMCLI_BINARY64).exe $(BYTOM_RELEASE64).md5 - cd target && rm -f $(MINER_BINARY64) $(BYTOMD_BINARY64) $(BYTOMCLI_BINARY64) $(MINER_BINARY64).exe $(BYTOMD_BINARY64).exe $(BYTOMCLI_BINARY64).exe $(BYTOM_RELEASE64).md5 + cd target && md5sum $(BYTOMD_BINARY64).exe $(BYTOMCLI_BINARY64).exe >$(BYTOM_RELEASE64).md5 + cd target && zip $(BYTOM_RELEASE64).zip $(BYTOMD_BINARY64).exe $(BYTOMCLI_BINARY64).exe $(BYTOM_RELEASE64).md5 + cd target && rm -f $(BYTOMD_BINARY64) $(BYTOMCLI_BINARY64) $(BYTOMD_BINARY64).exe $(BYTOMCLI_BINARY64).exe $(BYTOM_RELEASE64).md5 else release: binary - cd target && md5sum $(MINER_BINARY32) $(BYTOMD_BINARY32) $(BYTOMCLI_BINARY32) >$(BYTOM_RELEASE32).md5 - cd target && tar -czf $(BYTOM_RELEASE32).tgz $(MINER_BINARY32) $(BYTOMD_BINARY32) $(BYTOMCLI_BINARY32) $(BYTOM_RELEASE32).md5 - cd target && rm -f $(MINER_BINARY32) $(BYTOMD_BINARY32) $(BYTOMCLI_BINARY32) $(BYTOM_RELEASE32).md5 - cd target && md5sum $(MINER_BINARY64) $(BYTOMD_BINARY64) $(BYTOMCLI_BINARY64) >$(BYTOM_RELEASE64).md5 - cd target && tar -czf $(BYTOM_RELEASE64).tgz $(MINER_BINARY64) $(BYTOMD_BINARY64) $(BYTOMCLI_BINARY64) $(BYTOM_RELEASE64).md5 - cd target && rm -f $(MINER_BINARY64) $(BYTOMD_BINARY64) $(BYTOMCLI_BINARY64) $(BYTOM_RELEASE64).md5 + cd target && md5sum $(BYTOMD_BINARY32) $(BYTOMCLI_BINARY32) >$(BYTOM_RELEASE32).md5 + cd target && tar -czf $(BYTOM_RELEASE32).tgz $(BYTOMD_BINARY32) $(BYTOMCLI_BINARY32) $(BYTOM_RELEASE32).md5 + cd target && rm -f $(BYTOMD_BINARY32) $(BYTOMCLI_BINARY32) $(BYTOM_RELEASE32).md5 + cd target && md5sum $(BYTOMD_BINARY64) $(BYTOMCLI_BINARY64) >$(BYTOM_RELEASE64).md5 + cd target && tar -czf $(BYTOM_RELEASE64).tgz $(BYTOMD_BINARY64) $(BYTOMCLI_BINARY64) $(BYTOM_RELEASE64).md5 + cd target && rm -f $(BYTOMD_BINARY64) $(BYTOMCLI_BINARY64) $(BYTOM_RELEASE64).md5 endif release-all: clean @@ -80,11 +78,18 @@ release-all: clean GOOS=windows make release clean: - @echo "Cleaning binaries built" + @echo "Cleaning binaries built..." @rm -rf cmd/bytomd/bytomd @rm -rf cmd/bytomcli/bytomcli - @rm -rf cmd/miner/miner @rm -rf target + @rm -rf $(GOPATH)/bin/bytomd + @rm -rf $(GOPATH)/bin/bytomcli + @echo "Cleaning temp test data..." + @rm -rf test/pseudo_hsm* + @rm -rf blockchain/pseudohsm/testdata/pseudo/ + @echo "Cleaning sm2 pem files..." + @rm -rf crypto/sm2/*.pem + @echo "Done." target/$(BYTOMD_BINARY32): CGO_ENABLED=0 GOARCH=386 go build $(BUILD_FLAGS) -o $@ cmd/bytomd/main.go @@ -98,20 +103,16 @@ target/$(BYTOMCLI_BINARY32): target/$(BYTOMCLI_BINARY64): CGO_ENABLED=0 GOARCH=amd64 go build $(BUILD_FLAGS) -o $@ cmd/bytomcli/main.go -target/$(MINER_BINARY32): - CGO_ENABLED=0 GOARCH=386 go build $(BUILD_FLAGS) -o $@ cmd/miner/main.go - -target/$(MINER_BINARY64): - CGO_ENABLED=0 GOARCH=amd64 go build $(BUILD_FLAGS) -o $@ cmd/miner/main.go - test: @echo "====> Running go test" - @go test -tags "network" $(PACKAGES) + @go test $(PACKAGES) benchmark: - go test -bench $(PACKAGES) + @go test -bench $(PACKAGES) functional-tests: - @go test -v -timeout=30m -tags=functional ./test + @go test -timeout=5m -tags="functional" ./test + +ci: test .PHONY: all target release-all clean test benchmark