forked from konveyor/tackle2-hub
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
72 lines (59 loc) · 1.61 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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
GOBIN ?= ${GOPATH}/bin
PKG = ./addon/... \
./api/... \
./auth/... \
./cmd/... \
./encryption/... \
./importer/... \
./k8s/... \
./model/... \
./settings/... \
./volume/... \
./controller/... \
./task/...
BUILD = --tags json1 -o bin/hub github.com/konveyor/tackle2-hub/cmd
# Build ALL commands.
cmd: hub addon
# Run go fmt against code
fmt:
go fmt ${PKG}
# Run go vet against code
vet:
go vet ${PKG}
# Build hub
hub: generate fmt vet
go build ${BUILD}
# Build manager binary with compiler optimizations disabled
debug: generate fmt vet
go build -gcflags=all="-N -l" ${BUILD}
docker: vet
go build ${BUILD}
# Run against the configured Kubernetes cluster in ~/.kube/config
run: fmt vet
go run ./cmd/main.go
# Generate manifests e.g. CRD, Webhooks
manifests: controller-gen
${CONTROLLER_GEN} ${CRD_OPTIONS} \
crd rbac:roleName=manager-role \
paths="./..." output:crd:artifacts:config=generated/crd/bases output:crd:dir=generated/crd
# Generate code
generate: controller-gen
${CONTROLLER_GEN} object:headerFile="./generated/boilerplate" paths="./..."
# Find or download controller-gen.
controller-gen:
ifeq (, $(shell which controller-gen))
@{ \
set -e ;\
CONTROLLER_GEN_TMP_DIR=$$(mktemp -d) ;\
cd $$CONTROLLER_GEN_TMP_DIR ;\
go mod init tmp ;\
go get sigs.k8s.io/controller-tools/cmd/[email protected] ;\
rm -rf $$CONTROLLER_GEN_TMP_DIR ;\
}
CONTROLLER_GEN=$(GOBIN)/controller-gen
else
CONTROLLER_GEN=$(shell which controller-gen)
endif
# Build SAMPLE ADDON
addon: fmt vet
go build -o bin/addon github.com/konveyor/tackle2-hub/hack/cmd/addon