forked from opiproject/opi-evpn-bridge
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
57 lines (42 loc) · 1.59 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# SPDX-License-Identifier: Apache-2.0
# Copyright (c) 2023 Dell Inc, or its subsidiaries.
ROOT_DIR='.'
PROJECTNAME=$(shell basename "$(PWD)")
# Make is verbose in Linux. Make it silent.
MAKEFLAGS += --silent
GOARCH ?= $(shell go env GOARCH) # detect automatically the underlying arch
GOOS ?= $(shell go env GOOS) # detect automatically the underlying operating system
compile: get build
build:
@echo " > Building binaries..."
@CGO_ENABLED=0 GOOS=$(GOOS) GOARCH=$(GOARCH) go build -o ${PROJECTNAME} ./cmd/...
get:
@echo " > Checking if there are any missing dependencies..."
@CGO_ENABLED=0 go get ./...
tools:
go get golang.org/x/tools/cmd/goimports
go get github.com/kisielk/errcheck
go get github.com/axw/gocov/gocov
go get github.com/matm/gocov-html
go get github.com/tools/godep
go get github.com/mitchellh/gox
go get github.com/golang/lint/golint
test:
@echo " > Running ginkgo test suites..."
# can replace with a recursive command ginkgo suites are defined for all packages
ginkgo grpc pkg/evpn
vet:
@CGO_ENABLED=0 go vet -v ./...
errors:
errcheck -ignoretests -blank ./...
lint:
golint ./...
imports:
goimports -l -w .
fmt:
@CGO_ENABLED=0 go fmt ./...
mock-generate:
@echo " > Starting mock code generation..."
# Generate mocks for exported interfaces
mockery --config=utils/mocks/.mockery.yaml --name=Frr --dir pkg/utils --output pkg/utils/mocks --boilerplate-file pkg/utils/mocks/boilerplate.txt --with-expecter
mockery --config=utils/mocks/.mockery.yaml --name=Netlink --dir pkg/utils --output pkg/utils/mocks --boilerplate-file pkg/utils/mocks/boilerplate.txt --with-expecter