github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/Makefile (about) 1 maDEP := $(shell command -v dep 2> /dev/null) 2 SUM := $(shell which shasum) 3 4 COMMIT := $(shell git rev-parse HEAD) 5 CAT := $(if $(filter $(OS),Windows_NT),type,cat) 6 export GO111MODULE=on 7 8 GithubTop=github.com 9 10 GO_VERSION=1.17 11 ROCKSDB_VERSION=6.27.3 12 IGNORE_CHECK_GO=false 13 install_rocksdb_version:=$(ROCKSDB_VERSION) 14 15 16 Version=v1.6.8.6 17 CosmosSDK=v0.39.2 18 Tendermint=v0.33.9 19 Iavl=v0.14.3 20 Name=fbchain 21 ServerName=fbchaind 22 ClientName=fbchaincli 23 # the height of the 1st block is GenesisHeight+1 24 GenesisHeight=0 25 MercuryHeight=1 26 VenusHeight=1 27 Venus1Height=1 28 Venus2Height=1 29 Venus3Height=1 30 Venus4Height=0 #ibcV4 31 Venus5Height=0 #new proposal 32 EarthHeight=0 #support wasm 33 MarsHeight=0 #support ibc 34 JupiterHeight=100 #chainId change 35 CometHeight=200 #Block reward changes height 36 37 LINK_STATICALLY = false 38 cgo_flags= 39 40 ifeq ($(IGNORE_CHECK_GO),true) 41 GO_VERSION=0 42 endif 43 44 # process linker flags 45 ifeq ($(VERSION),) 46 VERSION = $(COMMIT) 47 endif 48 49 ifeq ($(MAKECMDGOALS),mainnet) 50 GenesisHeight=0 51 MercuryHeight=1 52 VenusHeight=1 53 Venus1Height=11076419 54 Venus2Height=11076419 55 Venus3Height=11076419 56 Venus4Height=0 57 Venus5Height=11076419 58 EarthHeight=0 #support wasm 59 MarsHeight=0 #support ibc 60 JupiterHeight=11076419 #chainId change 2023-03-18 00:00:00 11076419 61 CometHeight=16913500 #Block reward changes height 2023-11-30 13:30:00 16913500 62 63 WITH_ROCKSDB=true 64 else ifeq ($(MAKECMDGOALS),testnet) 65 GenesisHeight=10742449 66 MercuryHeight=1 67 VenusHeight=1 68 Venus1Height=10752449 69 Venus2Height=10752449 70 Venus3Height=10752449 71 Venus4Height=10752449 #ibc40 fork height 72 Venus5Height=10752449 73 74 EarthHeight=1 #support wasm 75 MarsHeight=0 #support ibc 76 JupiterHeight=10752449 77 CometHeight=16913000 #Block reward changes height 2023-11-30 13:30:00 16913500 78 79 WITH_ROCKSDB=true 80 endif 81 82 build_tags = netgo 83 84 ifeq ($(WITH_ROCKSDB),true) 85 CGO_ENABLED=1 86 build_tags += rocksdb 87 ifeq ($(LINK_STATICALLY),true) 88 cgo_flags += CGO_CFLAGS="-I/usr/include/rocksdb" 89 cgo_flags += CGO_LDFLAGS="-L/usr/lib -lrocksdb -lstdc++ -lm -lsnappy -llz4" 90 endif 91 else 92 ROCKSDB_VERSION=0 93 endif 94 95 ifeq ($(LINK_STATICALLY),true) 96 build_tags += muslc 97 endif 98 99 build_tags += $(BUILD_TAGS) 100 build_tags := $(strip $(build_tags)) 101 102 ldflags = -X $(GithubTop)/fibonacci-chain/fbc/libs/cosmos-sdk/version.Version=$(Version) \ 103 -X $(GithubTop)/fibonacci-chain/fbc/libs/cosmos-sdk/version.Name=$(Name) \ 104 -X $(GithubTop)/fibonacci-chain/fbc/libs/cosmos-sdk/version.ServerName=$(ServerName) \ 105 -X $(GithubTop)/fibonacci-chain/fbc/libs/cosmos-sdk/version.ClientName=$(ClientName) \ 106 -X $(GithubTop)/fibonacci-chain/fbc/libs/cosmos-sdk/version.Commit=$(COMMIT) \ 107 -X $(GithubTop)/fibonacci-chain/fbc/libs/cosmos-sdk/version.CosmosSDK=$(CosmosSDK) \ 108 -X $(GithubTop)/fibonacci-chain/fbc/libs/cosmos-sdk/version.Tendermint=$(Tendermint) \ 109 -X "$(GithubTop)/fibonacci-chain/fbc/libs/cosmos-sdk/version.BuildTags=$(build_tags)" \ 110 -X $(GithubTop)/fibonacci-chain/fbc/libs/tendermint/types.MILESTONE_GENESIS_HEIGHT=$(GenesisHeight) \ 111 -X $(GithubTop)/fibonacci-chain/fbc/libs/tendermint/types.MILESTONE_MERCURY_HEIGHT=$(MercuryHeight) \ 112 -X $(GithubTop)/fibonacci-chain/fbc/libs/tendermint/types.MILESTONE_VENUS_HEIGHT=$(VenusHeight) \ 113 -X $(GithubTop)/fibonacci-chain/fbc/libs/tendermint/types.MILESTONE_VENUS1_HEIGHT=$(Venus1Height) \ 114 -X $(GithubTop)/fibonacci-chain/fbc/libs/tendermint/types.MILESTONE_VENUS2_HEIGHT=$(Venus2Height) \ 115 -X $(GithubTop)/fibonacci-chain/fbc/libs/tendermint/types.MILESTONE_VENUS3_HEIGHT=$(Venus3Height) \ 116 -X $(GithubTop)/fibonacci-chain/fbc/libs/tendermint/types.MILESTONE_VENUS4_HEIGHT=$(Venus4Height) \ 117 -X $(GithubTop)/fibonacci-chain/fbc/libs/tendermint/types.MILESTONE_VENUS5_HEIGHT=$(Venus5Height) \ 118 -X $(GithubTop)/fibonacci-chain/fbc/libs/tendermint/types.MILESTONE_EARTH_HEIGHT=$(EarthHeight) \ 119 -X $(GithubTop)/fibonacci-chain/fbc/libs/tendermint/types.MILESTONE_MARS_HEIGHT=$(MarsHeight) \ 120 -X $(GithubTop)/fibonacci-chain/fbc/libs/tendermint/types.MILESTONE_Jupiter_HEIGHT=$(JupiterHeight) \ 121 -X $(GithubTop)/fibonacci-chain/fbc/libs/tendermint/types.MILESTONE_Comet_HEIGHT=$(CometHeight) 122 123 ifeq ($(WITH_ROCKSDB),true) 124 ldflags += -X github.com/fibonacci-chain/fbc/libs/tendermint/types.DBBackend=rocksdb 125 endif 126 127 ifeq ($(MAKECMDGOALS),testnet) 128 ldflags += -X github.com/fibonacci-chain/fbc/libs/cosmos-sdk/server.ChainID=fbc-3021 129 endif 130 131 ifeq ($(LINK_STATICALLY),true) 132 ldflags += -linkmode=external -extldflags "-Wl,-z,muldefs -static" 133 endif 134 135 ifeq ($(OKCMALLOC),tcmalloc) 136 ldflags += -extldflags "-ltcmalloc_minimal" 137 endif 138 139 ifeq ($(OKCMALLOC),jemalloc) 140 ldflags += -extldflags "-ljemalloc" 141 endif 142 143 BUILD_FLAGS := -ldflags '$(ldflags)' 144 145 ifeq ($(DEBUG),true) 146 BUILD_FLAGS += -gcflags "all=-N -l" 147 endif 148 149 all: install 150 151 install: fbc 152 153 fbc: check_version 154 $(cgo_flags) go install -v $(BUILD_FLAGS) -tags "$(build_tags)" ./cmd/fbchaind 155 $(cgo_flags) go install -v $(BUILD_FLAGS) -tags "$(build_tags)" ./cmd/fbchaincli 156 157 check_version: 158 @sh $(shell pwd)/dev/check-version.sh $(GO_VERSION) $(ROCKSDB_VERSION) 159 160 mainnet: fbc 161 162 testnet: fbc 163 164 test-unit: 165 @VERSION=$(VERSION) go test -mod=readonly -tags='ledger test_ledger_mock' ./app/... 166 @VERSION=$(VERSION) go test -mod=readonly -tags='ledger test_ledger_mock' ./x/backend/... 167 @VERSION=$(VERSION) go test -mod=readonly -tags='ledger test_ledger_mock' ./x/common/... 168 @VERSION=$(VERSION) go test -mod=readonly -tags='ledger test_ledger_mock' ./x/dex/... 169 @VERSION=$(VERSION) go test -mod=readonly -tags='ledger test_ledger_mock' ./x/distribution/... 170 @VERSION=$(VERSION) go test -mod=readonly -tags='ledger test_ledger_mock' ./x/genutil/... 171 @VERSION=$(VERSION) go test -mod=readonly -tags='ledger test_ledger_mock' ./x/gov/... 172 # @VERSION=$(VERSION) go test -mod=readonly -tags='ledger test_ledger_mock' ./x/order/... 173 @VERSION=$(VERSION) go test -mod=readonly -tags='ledger test_ledger_mock' ./x/params/... 174 @VERSION=$(VERSION) go test -mod=readonly -tags='ledger test_ledger_mock' ./x/staking/... 175 @VERSION=$(VERSION) go test -mod=readonly -tags='ledger test_ledger_mock' ./x/token/... 176 @VERSION=$(VERSION) go test -mod=readonly -tags='ledger test_ledger_mock' ./x/upgrade/... 177 178 get_vendor_deps: 179 @echo "--> Generating vendor directory via dep ensure" 180 @rm -rf .vendor-new 181 @dep ensure -v -vendor-only 182 183 update_vendor_deps: 184 @echo "--> Running dep ensure" 185 @rm -rf .vendor-new 186 @dep ensure -v -update 187 188 go-mod-cache: go.sum 189 @echo "--> Download go modules to local cache" 190 @go mod download 191 .PHONY: go-mod-cache 192 193 go.sum: go.mod 194 @echo "--> Ensure dependencies have not been modified" 195 @go mod verify 196 @go mod tidy 197 198 cli: 199 go install -v $(BUILD_FLAGS) -tags "$(build_tags)" ./cmd/fbchaincli 200 201 server: 202 go install -v $(BUILD_FLAGS) -tags "$(build_tags)" ./cmd/fbchaind 203 204 format: 205 find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" -not -path "./client/lcd/statik/statik.go" | xargs gofmt -w -s 206 207 build: 208 ifeq ($(OS),Windows_NT) 209 go build $(BUILD_FLAGS) -tags "$(build_tags)" -o build/fbchaind.exe ./cmd/fbchaind 210 go build $(BUILD_FLAGS) -tags "$(build_tags)" -o build/fbchaincli.exe ./cmd/fbchaincli 211 else 212 go build $(BUILD_FLAGS) -tags "$(build_tags)" -o build/fbchaind ./cmd/fbchaind 213 go build $(BUILD_FLAGS) -tags "$(build_tags)" -o build/fbchaincli ./cmd/fbchaincli 214 endif 215 216 217 test: 218 go list ./app/... |xargs go test -count=1 219 go list ./x/... |xargs go test -count=1 220 go list ./libs/cosmos-sdk/... |xargs go test -count=1 -tags='norace ledger test_ledger_mock' 221 go list ./libs/tendermint/... |xargs go test -count=1 222 go list ./libs/tm-db/... |xargs go test -count=1 223 go list ./libs/iavl/... |xargs go test -count=1 224 go list ./libs/ibc-go/... |xargs go test -count=1 225 226 testapp: 227 go list ./app/... |xargs go test -count=1 228 229 testx: 230 go list ./x/... |xargs go test -count=1 231 232 testcm: 233 go list ./libs/cosmos-sdk/... |xargs go test -count=1 -tags='norace ledger test_ledger_mock' 234 235 testtm: 236 go list ./libs/tendermint/... |xargs go test -count=1 -tags='norace ledger test_ledger_mock' 237 238 testibc: 239 go list ./libs/ibc-go/... |xargs go test -count=1 -tags='norace ledger test_ledger_mock' 240 241 242 build-linux: 243 LEDGER_ENABLED=false GOOS=linux GOARCH=amd64 $(MAKE) build 244 245 build-docker-fb chainnode: 246 $(MAKE) -C networks/local 247 248 # Run a 4-node testnet locally 249 localnet-start: localnet-stop 250 @if ! [ -f build/node0/fbchaind/config/genesis.json ]; then docker run --rm -v $(CURDIR)/build:/fbchaind:Z fbc/node testnet --v 4 -o . --starting-ip-address 192.168.10.2 --keyring-backend=test ; fi 251 docker-compose up -d 252 253 # Stop testnet 254 localnet-stop: 255 docker-compose down 256 257 rocksdb: 258 @echo "Installing rocksdb..." 259 @bash ./libs/rocksdb/install.sh --version v$(install_rocksdb_version) 260 .PHONY: rocksdb 261 262 .PHONY: build 263 264 tcmalloc: 265 @echo "Installing tcmalloc..." 266 @bash ./libs/malloc/tcinstall.sh 267 268 jemalloc: 269 @echo "Installing jemalloc..." 270 @bash ./libs/malloc/jeinstall.sh