Skip to content

Commit 1419bcf

Browse files
authored
Merge pull request #278 from aryan9600/main
Fix potentially broken support for macOS
2 parents 95152f5 + 23a0217 commit 1419bcf

File tree

1 file changed

+45
-3
lines changed

1 file changed

+45
-3
lines changed

Makefile

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ endif
4747

4848
ifeq ($(shell uname -s),Darwin)
4949
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
5054
endif
5155

5256
# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
@@ -56,6 +60,16 @@ else
5660
GOBIN=$(shell go env GOBIN)
5761
endif
5862

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+
5973
TEST_CRDS := controllers/testdata/crds
6074

6175
# Log level for `make run`
@@ -88,19 +102,39 @@ ${CACHE}/imagepolicies_${REFLECTOR_VER}.yaml:
88102
-o ${CACHE}/imagepolicies_${REFLECTOR_VER}.yaml
89103

90104
test: $(LIBGIT2) test-api test_deps generate fmt vet manifests api-docs ## Run tests
105+
ifeq ($(shell uname -s),Darwin)
91106
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)" \
93109
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
94115

95116
test-api: ## Run api tests
96117
cd api; go test ./... -coverprofile cover.out
97118

98119
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)" \
100127
go build -o bin/manager main.go
128+
endif
129+
101130

102131
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)" \
103134
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
104138

105139
install: manifests ## Install CRDs into a cluster
106140
kustomize build config/crd | kubectl apply -f -
@@ -133,9 +167,17 @@ fmt: ## Run go fmt against code
133167
cd api; go fmt ./...
134168

135169
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) \
137177
go vet ./...
138178
cd api; go vet ./...
179+
endif
180+
139181

140182
generate: controller-gen ## Generate code
141183
cd api; $(CONTROLLER_GEN) object:headerFile="../hack/boilerplate.go.txt" paths="./..."

0 commit comments

Comments
 (0)