github.com/tickoalcantara12/micro/v3@v3.0.0-20221007104245-9d75b9bcbab9/Makefile (about) 1 NAME=micro 2 IMAGE_NAME=micro/$(NAME) 3 GIT_COMMIT=$(shell git rev-parse --short HEAD) 4 GIT_TAG=$(shell git describe --abbrev=0 --tags --always --match "v*") 5 GIT_IMPORT=github.com/tickoalcantara12/micro/v3/cmd 6 CGO_ENABLED=0 7 BUILD_DATE=$(shell date +%s) 8 LDFLAGS=-X $(GIT_IMPORT).BuildDate=$(BUILD_DATE) -X $(GIT_IMPORT).GitCommit=$(GIT_COMMIT) -X $(GIT_IMPORT).GitTag=$(GIT_TAG) 9 IMAGE_TAG=$(GIT_TAG)-$(GIT_COMMIT) 10 PROTO_FLAGS=--go_opt=paths=source_relative --micro_opt=paths=source_relative 11 PROTO_PATH=$(GOPATH)/src:. 12 SRC_DIR=$(GOPATH)/src 13 14 all: build 15 16 .PHONY: api 17 api: 18 find proto/ -name '*.proto' -exec protoc --proto_path=$(PROTO_PATH) --openapi_out=${SRC_DIR} {} \; 19 20 vendor: 21 go mod vendor 22 23 build: 24 go build -a -installsuffix cgo -ldflags "-s -w ${LDFLAGS}" -o $(NAME) 25 26 docker: 27 docker buildx build --platform linux/amd64 --platform linux/arm64 --tag $(IMAGE_NAME):$(IMAGE_TAG) --tag $(IMAGE_NAME):latest --push . 28 29 .PHONY: proto 30 proto: 31 find proto/ -name '*.proto' -exec protoc --proto_path=$(PROTO_PATH) $(PROTO_FLAGS) --micro_out=$(SRC_DIR) --go_out=plugins=grpc:$(SRC_DIR) {} \; 32 33 34 vet: 35 go vet ./... 36 37 test: vet 38 go test -v ./... 39 40 clean: 41 rm -rf ./micro 42 43 .PHONY: build clean vet test docker