|
47 | 47 |
|
48 | 48 | ifeq ($(shell uname -s),Darwin) |
49 | 49 | LIBGIT2 := $(LIBGIT2_LIB_PATH)/libgit2.$(LIBGIT2_VERSION).dylib |
| 50 | + HAS_BREW := $(shell brew --version 2>/dev/null) |
| 51 | +ifdef HAS_BREW |
| 52 | + HAS_OPENSSL := $(shell brew --prefix [email protected]) |
| 53 | +endif |
50 | 54 | endif |
51 | 55 |
|
52 | 56 | # Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) |
|
56 | 60 | GOBIN=$(shell go env GOBIN) |
57 | 61 | endif |
58 | 62 |
|
| 63 | +ifeq ($(strip ${PKG_CONFIG_PATH}),) |
| 64 | + MAKE_PKG_CONFIG_PATH = $(LIBGIT2_LIB_PATH)/pkgconfig |
| 65 | +else |
| 66 | + MAKE_PKG_CONFIG_PATH = ${PKG_CONFIG_PATH}:$(LIBGIT2_LIB_PATH)/pkgconfig |
| 67 | +endif |
| 68 | + |
| 69 | +ifdef HAS_OPENSSL |
| 70 | + MAKE_PKG_CONFIG_PATH := $(MAKE_PKG_CONFIG_PATH):$(HAS_OPENSSL)/lib/pkgconfig |
| 71 | +endif |
| 72 | + |
59 | 73 | TEST_CRDS := controllers/testdata/crds |
60 | 74 |
|
61 | 75 | # Log level for `make run` |
@@ -88,19 +102,39 @@ ${CACHE}/imagepolicies_${REFLECTOR_VER}.yaml: |
88 | 102 | -o ${CACHE}/imagepolicies_${REFLECTOR_VER}.yaml |
89 | 103 |
|
90 | 104 | test: $(LIBGIT2) test-api test_deps generate fmt vet manifests api-docs ## Run tests |
| 105 | +ifeq ($(shell uname -s),Darwin) |
91 | 106 | LD_LIBRARY_PATH=$(LIBGIT2_LIB_PATH) \ |
92 | | - PKG_CONFIG_PATH=$(LIBGIT2_LIB_PATH)/pkgconfig/:$(PKG_CONFIG_PATH) \ |
| 107 | + PKG_CONFIG_PATH=$(MAKE_PKG_CONFIG_PATH) \ |
| 108 | + CGO_LDFLAGS="-Wl,-rpath,$(LIBGIT2_LIB_PATH)" \ |
93 | 109 | go test ./... -coverprofile cover.out |
| 110 | +else |
| 111 | + LD_LIBRARY_PATH=$(LIBGIT2_LIB_PATH) \ |
| 112 | + PKG_CONFIG_PATH=$(MAKE_PKG_CONFIG_PATH) \ |
| 113 | + go test ./... -coverprofile cover.out |
| 114 | +endif |
94 | 115 |
|
95 | 116 | test-api: ## Run api tests |
96 | 117 | cd api; go test ./... -coverprofile cover.out |
97 | 118 |
|
98 | 119 | manager: $(LIBGIT2) generate fmt vet ## Build manager binary |
99 | | - PKG_CONFIG_PATH=$(LIBGIT2_LIB_PATH)/pkgconfig/:$(PKG_CONFIG_PATH) \ |
| 120 | +ifeq ($(shell uname -s),Darwin) |
| 121 | + PKG_CONFIG_PATH=$(MAKE_PKG_CONFIG_PATH) \ |
| 122 | + CGO_LDFLAGS="-Wl,-rpath,$(LIBGIT2_LIB_PATH)" \ |
| 123 | + go build -o bin/manager main.go |
| 124 | +else |
| 125 | + PKG_CONFIG_PATH=$(MAKE_PKG_CONFIG_PATH) \ |
| 126 | + CGO_LDFLAGS="-Wl,-rpath,$(LIBGIT2_LIB_PATH)" \ |
100 | 127 | go build -o bin/manager main.go |
| 128 | +endif |
| 129 | + |
101 | 130 |
|
102 | 131 | run: $(LIBGIT2) generate fmt vet manifests # Run against the configured Kubernetes cluster in ~/.kube/config |
| 132 | +ifeq ($(shell uname -s),Darwin) |
| 133 | + CGO_LDFLAGS="-Wl,-rpath,$(LIBGIT2_LIB_PATH)" \ |
103 | 134 | go run ./main.go --log-level=${LOG_LEVEL} --log-encoding=console |
| 135 | +else |
| 136 | + go run ./main.go --log-level=${LOG_LEVEL} --log-encoding=console |
| 137 | +endif |
104 | 138 |
|
105 | 139 | install: manifests ## Install CRDs into a cluster |
106 | 140 | kustomize build config/crd | kubectl apply -f - |
@@ -133,9 +167,17 @@ fmt: ## Run go fmt against code |
133 | 167 | cd api; go fmt ./... |
134 | 168 |
|
135 | 169 | vet: $(LIBGIT2) ## Run go vet against code |
136 | | - PKG_CONFIG_PATH=$(LIBGIT2_LIB_PATH)/pkgconfig:$(PKG_CONFIG_PATH) \ |
| 170 | +ifeq ($(shell uname -s),Darwin) |
| 171 | + PKG_CONFIG_PATH=$(MAKE_PKG_CONFIG_PATH) \ |
| 172 | + CGO_LDFLAGS="-Wl,-rpath,$(LIBGIT2_LIB_PATH)" \ |
| 173 | + go vet ./... |
| 174 | + cd api; go vet ./... |
| 175 | +else |
| 176 | + PKG_CONFIG_PATH=$(MAKE_PKG_CONFIG_PATH) \ |
137 | 177 | go vet ./... |
138 | 178 | cd api; go vet ./... |
| 179 | +endif |
| 180 | + |
139 | 181 |
|
140 | 182 | generate: controller-gen ## Generate code |
141 | 183 | cd api; $(CONTROLLER_GEN) object:headerFile="../hack/boilerplate.go.txt" paths="./..." |
|
0 commit comments