-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathMakefile
55 lines (43 loc) · 1.55 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
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"). You may
# not use this file except in compliance with the License. A copy of the
# License is located at
#
# http://aws.amazon.com/apache2.0/
#
# or in the "license" file accompanying this file. This file is distributed
# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
# express or implied. See the License for the specific language governing
# permissions and limitations under the License.
# Set this to pass additional commandline flags to the go compiler, e.g. "make test EXTRAGOARGS=-v"
EXTRAGOARGS?=
SOURCES:=$(shell find . -name '*.go' ! -name '*_test.go')
GOMOD := $(shell go env GOMOD)
GOSUM := $(GOMOD:.mod=.sum)
GOBIN := $(abspath ./bin)
GOLANGCI_LINT_VERSION?=v1.56.2
# Set this to override the directory in which the tc-redirect-tap plugin is
# installed by the "install" target
CNI_BIN_ROOT?=/opt/cni/bin
.PHONY: all
all: tc-redirect-tap
tc-redirect-tap: $(SOURCES) $(GOMOD) $(GOSUM)
go build -o tc-redirect-tap $(CURDIR)/cmd/tc-redirect-tap
.PHONY: install
install: tc-redirect-tap
install -D -m755 -t $(CNI_BIN_ROOT) tc-redirect-tap
.PHONY: test
test:
go test ./... $(EXTRAGOARGS)
.PHONY: clean
clean:
- rm -f tc-redirect-tap
- rm -rf $(GOBIN)
deps:
echo
$(GOBIN)/golangci-lint:
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOBIN) $(GOLANGCI_LINT_VERSION)
.PHONY: lint
lint: $(GOBIN)/golangci-lint
$(GOBIN)/golangci-lint run ./...