@@ -6,25 +6,38 @@ IMAGE_REPO?=quay.io/opdev
6
6
VERSION =$(shell git rev-parse HEAD)
7
7
RELEASE_TAG ?= "0.0.0"
8
8
9
- PLATFORMS =linux
10
- ARCHITECTURES =amd64 arm64 ppc64le s390x
9
+ PLATFORMS =linux darwin
10
+ ARCHITECTURES_LINUX =amd64 arm64 ppc64le s390x
11
+ ARCHITECTURES_MAC =amd64 arm64
11
12
12
13
.PHONY : build
13
14
build :
14
15
CGO_ENABLED=0 go build -o $(BINARY ) -ldflags " -X github.com/redhat-openshift-ecosystem/openshift-preflight/version.commit=$( VERSION) -X github.com/redhat-openshift-ecosystem/openshift-preflight/version.version=$( RELEASE_TAG) " cmd/preflight/main.go
15
16
@ls | grep -e ' ^preflight$$' & > /dev/null
16
17
17
- .PHONY : build-multi-arch
18
- build-multi-arch : $(addprefix build-linux-,$(ARCHITECTURES ) )
18
+ .PHONY : build-multi-arch-linux
19
+ build-multi-arch-linux : $(addprefix build-linux-,$(ARCHITECTURES_LINUX ) )
19
20
20
- define ARCHITECTURE_template
21
+ define LINUX_ARCHITECTURE_template
21
22
.PHONY: build-linux-$(1 )
22
23
build-linux-$(1 ) :
23
24
GOOS=linux GOARCH=$(1 ) CGO_ENABLED=0 go build -o $(BINARY ) -linux-$(1 ) -ldflags "-X github.com/redhat-openshift-ecosystem/openshift-preflight/version.commit=$(VERSION ) \
24
25
-X github.com/redhat-openshift-ecosystem/openshift-preflight/version.version=$(RELEASE_TAG ) " cmd/preflight/main.go
25
26
endef
26
27
27
- $(foreach arch,$(ARCHITECTURES),$(eval $(call ARCHITECTURE_template,$(arch))))
28
+ $(foreach arch,$(ARCHITECTURES_LINUX),$(eval $(call LINUX_ARCHITECTURE_template,$(arch))))
29
+
30
+ .PHONY : build-multi-arch-mac
31
+ build-multi-arch-mac : $(addprefix build-mac-,$(ARCHITECTURES_MAC ) )
32
+
33
+ define MAC_ARCHITECTURE_template
34
+ .PHONY: build-mac-$(1 )
35
+ build-mac-$(1 ) :
36
+ GOOS=darwin GOARCH=$(1 ) go build -o $(BINARY ) -darwin-$(1 ) -ldflags "-X github.com/redhat-openshift-ecosystem/openshift-preflight/version.commit=$(VERSION ) \
37
+ -X github.com/redhat-openshift-ecosystem/openshift-preflight/version.version=$(RELEASE_TAG ) " cmd/preflight/main.go
38
+ endef
39
+
40
+ $(foreach arch,$(ARCHITECTURES_MAC),$(eval $(call MAC_ARCHITECTURE_template,$(arch))))
28
41
29
42
.PHONY : fmt
30
43
fmt : gofumpt
@@ -93,7 +106,10 @@ clean:
93
106
$(shell if [ -f "$(BINARY ) " ]; then rm -f $(BINARY ) ; fi)
94
107
@# cleans all the binaries created by make build-multi-arch
95
108
$(foreach GOOS, $(PLATFORMS ) ,\
96
- $(foreach GOARCH, $(ARCHITECTURES ) ,\
109
+ $(foreach GOARCH, $(ARCHITECTURES_LINUX ) ,\
110
+ $(shell if [ -f "$(BINARY ) -$(GOOS ) -$(GOARCH ) " ]; then rm -f $(BINARY ) -$(GOOS ) -$(GOARCH ) ; fi) ))
111
+ $(foreach GOOS, $(PLATFORMS ) ,\
112
+ $(foreach GOARCH, $(ARCHITECTURES_MAC ) ,\
97
113
$(shell if [ -f "$(BINARY ) -$(GOOS ) -$(GOARCH ) " ]; then rm -f $(BINARY ) -$(GOOS ) -$(GOARCH ) ; fi) ))
98
114
99
115
GOLANGCI_LINT = $(shell pwd) /bin/golangci-lint
0 commit comments