github.com/aeternity/aepp-sdk-go@v1.0.3-0.20190606142815-1c0ffdc21fd9/Makefile (about) 1 GOFILES = $(shell find . -name '*.go' -not -path './vendor/*') 2 GOPACKAGES = $(shell go list ./... | grep -v /vendor/) 3 GIT_DESCR = $(shell git describe --tags --always) 4 APP=aecli 5 # build output folder 6 OUTPUTFOLDER = dist 7 # docker image 8 DOCKER_IMAGE = aeternity/aepps-sdk-go 9 DOCKER_TAG = $(shell git describe --tags --always) 10 # build paramters 11 OS = linux 12 ARCH = amd64 13 14 .PHONY: list 15 list: 16 @$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' | xargs 17 18 default: build 19 20 workdir: 21 mkdir -p dist 22 23 build: build-dist 24 25 build-dist: $(GOFILES) 26 @echo build binary to $(OUTPUTFOLDER) 27 GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=0 go build -ldflags "-X main.Version=$(GIT_DESCR)" -o $(OUTPUTFOLDER)/$(APP) . 28 @echo copy resources 29 cp -r README.md LICENSE $(OUTPUTFOLDER) 30 @echo done 31 32 build-relase: 33 @echo build binary to $(OUTPUTFOLDER) 34 $(eval OS=darwin) 35 GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=0 go build -ldflags "-X main.Version=$(GIT_DESCR)" -o $(OUTPUTFOLDER)/$(OS)/$(APP) . 36 $(eval OS=windows) 37 GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=0 go build -ldflags "-X main.Version=$(GIT_DESCR)" -o $(OUTPUTFOLDER)/$(OS)/$(APP).exe . 38 $(eval OS=linux) 39 GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=0 go build -ldflags "-X main.Version=$(GIT_DESCR)" -o $(OUTPUTFOLDER)/$(OS)/$(APP) . 40 @echo copy resources 41 cp -r README.md LICENSE CHANGELOG.md $(OUTPUTFOLDER) 42 @echo done 43 44 test: test-all 45 46 test-all: 47 @go test -v $(GOPACKAGES) -coverprofile .testCoverage.txt 48 49 bench: bench-all 50 51 bench-all: 52 @go test -bench -v $(GOPACKAGES) 53 54 lint: lint-all 55 56 lint-all: 57 @golint -set_exit_status $(GOPACKAGES) 58 59 install: build-dist 60 @cp dist/aecli $(GOPATH)/bin 61 @echo copied to GOPATH/bin 62 63 clean: 64 @echo remove $(OUTPUTFOLDER) folder 65 @rm -rf dist 66 @echo done 67 68 docker: docker-build 69 70 docker-build: build-dist 71 @echo copy resources 72 @cp config/settings.docker.yaml $(OUTPUTFOLDER)/settings.yaml 73 @echo build image 74 docker build -t $(DOCKER_IMAGE):$(DOCKER_TAG) -f ./build/docker/Dockerfile . 75 @echo done 76 77 docker-push: docker-build 78 @echo push image 79 docker tag $(DOCKER_IMAGE):$(DOCKER_TAG) $(DOCKER_IMAGE):latest 80 docker push $(DOCKER_IMAGE) 81 @echo done 82 83 docker-run: 84 @docker run -p 1804:1804 $(DOCKER_IMAGE) 85 86 debug-start: 87 @go run main.go -c config/settings.sample.yaml --debug start