MAIN_FILE=cmd/cmd-name/main.go
BINARY_NAME=main
BINARY_FOLDER=bin
TEST_COVERAGE_FILE=coverage.out
build: build_linux build_windows
build_linux:
GOARCH=amd64 GOOS=linux go build -o ${BINARY_FOLDER}/${BINARY_NAME}-linux ${MAIN_FILE}
build_windows:
GOARCH=amd64 GOOS=windows go build -o ${BINARY_FOLDER}/${BINARY_NAME}-windows ${MAIN_FILE}
clean:
go clean
rm ${BINARY_FOLDER}/${BINARY_NAME}-linux
rm ${BINARY_FOLDER}/${BINARY_NAME}-windows
rm ${TEST_COVERAGE_FILE}
run:
go run ${MAIN_FILE}
test:
go test -race ./...
test_coverage:
go test ./... -coverprofile=${TEST_COVERAGE_FILE}
format:
go fmt ./...
tidy:
go mod tidy
vet:
go vet ./...
why:
go mod why -m $(module)
ready: tidy format test vet