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