sshpoke/Makefile

42 lines
978 B
Makefile

SHELL = /bin/bash -o pipefail
export PATH := $(shell go env GOPATH)/bin:$(PATH)
ROOT_DIR=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
BUILD_DIR=$(ROOT_DIR)/build
BIN=$(BUILD_DIR)/sshpoke
GO_VERSION=$(shell go version | sed -e 's/go version //')
.PHONY: run clean_backend
build: generate deps fmt
@echo " ► Building with ${GO_VERSION}"
@CGO_ENABLED=0 go build -tags=release -o $(BIN) .
@echo $(BIN)
test: deps fmt
@echo " ► Running tests"
@go test -timeout 1m ./... -v -cpu 4
fmt:
@echo " ► Running gofmt"
@gofmt -l -s -w `go list -f '{{.Dir}}' ${ROOT_DIR}/... | grep -v /vendor/`
deps:
@echo " ► Installing dependencies"
@go mod tidy
@go mod vendor
run:
@$(BIN)
clean:
@rm -rf $(BUILD_DIR)
generate:
@echo " ► Performing code generation"
@cd $(ROOT_DIR)/pkg/plugin && go generate
install_protobuf:
@go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
@go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2