github.com/aeternity/aepp-sdk-go/v7@v7.0.1/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-release: 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 cp -r README.md LICENSE CHANGELOG.md $(OUTPUTFOLDER)/$(OS) 37 zip -r $(OUTPUTFOLDER)/$(OS).zip $(OUTPUTFOLDER)/$(OS) 38 $(eval OS=windows) 39 GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=0 go build -ldflags "-X main.Version=$(GIT_DESCR)" -o $(OUTPUTFOLDER)/$(OS)/$(APP).exe . 40 cp -r README.md LICENSE CHANGELOG.md $(OUTPUTFOLDER)/$(OS) 41 zip -r $(OUTPUTFOLDER)/$(OS).zip $(OUTPUTFOLDER)/$(OS) 42 $(eval OS=linux) 43 GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=0 go build -ldflags "-X main.Version=$(GIT_DESCR)" -o $(OUTPUTFOLDER)/$(OS)/$(APP) . 44 cp -r README.md LICENSE CHANGELOG.md $(OUTPUTFOLDER)/$(OS) 45 zip -r $(OUTPUTFOLDER)/$(OS).zip $(OUTPUTFOLDER)/$(OS) 46 @echo done 47 48 test: test-all 49 50 test-all: 51 @go test -v $(GOPACKAGES) -coverprofile .testCoverage.txt 52 53 bench: bench-all 54 55 bench-all: 56 @go test -bench -v $(GOPACKAGES) 57 58 lint: lint-all 59 60 lint-all: 61 @golint -set_exit_status $(GOPACKAGES) 62 63 install: build-dist 64 @cp dist/aecli $(GOPATH)/bin 65 @echo copied to GOPATH/bin 66 67 clean: 68 @echo remove $(OUTPUTFOLDER) folder 69 @rm -rf dist 70 @echo done 71 72 docker: docker-build 73 74 docker-build: build-dist 75 @echo copy resources 76 @cp config/settings.docker.yaml $(OUTPUTFOLDER)/settings.yaml 77 @echo build image 78 docker build -t $(DOCKER_IMAGE):$(DOCKER_TAG) -f ./build/docker/Dockerfile . 79 @echo done 80 81 docker-push: docker-build 82 @echo push image 83 docker tag $(DOCKER_IMAGE):$(DOCKER_TAG) $(DOCKER_IMAGE):latest 84 docker push $(DOCKER_IMAGE) 85 @echo done 86 87 docker-run: 88 @docker run -p 1804:1804 $(DOCKER_IMAGE) 89 90 debug-start: 91 @go run main.go -c config/settings.sample.yaml --debug start