github.com/aeternity/aepp-sdk-go/v4@v4.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-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