@@ -223,16 +223,40 @@ endif
223223
224224BINNAME := $(PROJECT )
225225BIN := $(BINDIR ) /$(BINNAME )
226- VBIN_LINUX_AMD64 := $(BINDIR ) /$(RELEASE_MODE ) /linux/amd64/$(BINNAME )
227- VBIN_LINUX_ARM64 := $(BINDIR ) /$(RELEASE_MODE ) /linux/arm64/$(BINNAME )
228226
229227BIN_OPS_NAME := $(PROJECT ) _ops
230228BIN_OPS := $(BINDIR ) /$(BIN_OPS_NAME )
231- VBIN_OPS_LINUX_AMD64 := $(BINDIR ) /$(RELEASE_MODE ) /linux/amd64/$(BIN_OPS_NAME )
232- VBIN_OPS_LINUX_ARM64 := $(BINDIR ) /$(RELEASE_MODE ) /linux/arm64/$(BIN_OPS_NAME )
233229
234- VBIN_OPS_DARWIN_AMD64 := $(BINDIR ) /$(RELEASE_MODE ) /darwin/amd64/$(BIN_OPS_NAME )
235- VBIN_OPS_DARWIN_ARM64 := $(BINDIR ) /$(RELEASE_MODE ) /darwin/arm64/$(BIN_OPS_NAME )
230+ BIN_INT_NAME := $(PROJECT ) _integration
231+ BIN_INT := $(BINDIR ) /$(BIN_INT_NAME )
232+
233+ define binary
234+ $(eval _OS:=$(call UPPER_ENV,$1) )
235+ $(eval _ARCH:=$(call UPPER_ENV,$2) )
236+ VBIN_$(_OS ) _$(_ARCH ) := $(BINDIR ) /$(RELEASE_MODE ) /$1/$2/$(BINNAME )
237+ VBIN_OPS_$(_OS ) _$(_ARCH ) := $(BINDIR ) /$(RELEASE_MODE ) /$1/$2/$(BIN_OPS_NAME )
238+ VBIN_INT_$(_OS ) _$(_ARCH ) := $(BINDIR ) /$(RELEASE_MODE ) /$1/$2/$(BIN_INT_NAME )
239+
240+ $$(VBIN_$(_OS ) _$(_ARCH ) ) : $$(SOURCES ) dashboard/assets.go VERSION
241+ @mkdir -p $(BINDIR ) /$(RELEASE_MODE ) /$1/$2
242+ CGO_ENABLED=0 GOOS=$1 GOARCH=$2 go build $${GOBUILDARGS} --tags "$$(GOBUILDTAGS ) " $$(COMPILE_DEBUG_FLAGS ) -installsuffix netgo -gcflags=all="$$(GOBUILDGCFLAGS ) " -ldflags "$$(GOBUILDLDFLAGS ) " -o $$@ ./cmd/main
243+
244+ $$(VBIN_OPS_$(_OS ) _$(_ARCH ) ) : $$(SOURCES ) dashboard/assets.go VERSION
245+ @mkdir -p $(BINDIR ) /$(RELEASE_MODE ) /$1/$2
246+ CGO_ENABLED=0 GOOS=$1 GOARCH=$2 go build $${GOBUILDARGS} --tags "$$(GOBUILDTAGS ) " $$(COMPILE_DEBUG_FLAGS ) -installsuffix netgo -gcflags=all="$$(GOBUILDGCFLAGS ) " -ldflags "$$(GOBUILDLDFLAGS ) " -o $$@ ./cmd/main-ops
247+
248+ $$(VBIN_INT_$(_OS ) _$(_ARCH ) ) : $$(SOURCES ) dashboard/assets.go VERSION
249+ @mkdir -p $(BINDIR ) /$(RELEASE_MODE ) /$1/$2
250+ CGO_ENABLED=0 GOOS=$1 GOARCH=$2 go build $${GOBUILDARGS} --tags "$$(GOBUILDTAGS ) " $$(COMPILE_DEBUG_FLAGS ) -installsuffix netgo -gcflags=all="$$(GOBUILDGCFLAGS ) " -ldflags "$$(GOBUILDLDFLAGS ) " -o $$@ ./cmd/main-int
251+
252+ bin-all: $$(VBIN_$(_OS ) _$(_ARCH ) ) $$(VBIN_OPS_$(_OS ) _$(_ARCH ) ) $$(VBIN_INT_$(_OS ) _$(_ARCH ) )
253+
254+ endef
255+
256+ $(eval $(call binary,linux,amd64))
257+ $(eval $(call binary,linux,arm64))
258+ $(eval $(call binary,darwin,amd64))
259+ $(eval $(call binary,darwin,arm64))
236260
237261ifdef VERBOSE
238262 TESTVERBOSEOPTIONS := -v
@@ -421,27 +445,12 @@ dashboard/assets.go:
421445 $(DASHBOARDBUILDIMAGE )
422446 $(GOASSETSBUILDER ) -s /dashboard/build/ -o dashboard/assets.go -p dashboard dashboard/build
423447
424- .PHONY : bin bin-all
425- bin : $(BIN )
426- bin-all : $(BIN ) $(VBIN_LINUX_AMD64 ) $(VBIN_LINUX_ARM64 )
427-
428- $(VBIN_LINUX_AMD64 ) : $(SOURCES ) dashboard/assets.go VERSION
429- @mkdir -p $(BINDIR ) /$(RELEASE_MODE ) /linux/amd64
430- CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build ${GOBUILDARGS} --tags " $( GOBUILDTAGS) " $(COMPILE_DEBUG_FLAGS ) -installsuffix netgo -gcflags=all=" $( GOBUILDGCFLAGS) " -ldflags " $( GOBUILDLDFLAGS) " -o $(VBIN_LINUX_AMD64 ) ./cmd/main
431- CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build ${GOBUILDARGS} --tags " $( GOBUILDTAGS) " $(COMPILE_DEBUG_FLAGS ) -installsuffix netgo -gcflags=all=" $( GOBUILDGCFLAGS) " -ldflags " $( GOBUILDLDFLAGS) " -o $(VBIN_OPS_LINUX_AMD64 ) ./cmd/main-ops
432-
433- $(VBIN_LINUX_ARM64 ) : $(SOURCES ) dashboard/assets.go VERSION
434- @mkdir -p $(BINDIR ) /$(RELEASE_MODE ) /linux/arm64
435- CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build ${GOBUILDARGS} --tags " $( GOBUILDTAGS) " $(COMPILE_DEBUG_FLAGS ) -installsuffix netgo -gcflags=all=" $( GOBUILDGCFLAGS) " -ldflags " $( GOBUILDLDFLAGS) " -o $(VBIN_LINUX_ARM64 ) ./cmd/main
436- CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build ${GOBUILDARGS} --tags " $( GOBUILDTAGS) " $(COMPILE_DEBUG_FLAGS ) -installsuffix netgo -gcflags=all=" $( GOBUILDGCFLAGS) " -ldflags " $( GOBUILDLDFLAGS) " -o $(VBIN_OPS_LINUX_ARM64 ) ./cmd/main-ops
448+ # Binaries
437449
438- bin-ops-all : $(VBIN_LINUX_AMD64 ) $(VBIN_LINUX_ARM64 )
439- @mkdir -p $(BINDIR ) /$(RELEASE_MODE ) /darwin/amd64
440- CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build ${GOBUILDARGS} --tags " $( GOBUILDTAGS) " $(COMPILE_DEBUG_FLAGS ) -installsuffix netgo -gcflags=all=" $( GOBUILDGCFLAGS) " -ldflags " $( GOBUILDLDFLAGS) " -o $(VBIN_OPS_DARWIN_AMD64 ) ./cmd/main-ops
441- @mkdir -p $(BINDIR ) /$(RELEASE_MODE ) /darwin/arm64
442- CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build ${GOBUILDARGS} --tags " $( GOBUILDTAGS) " $(COMPILE_DEBUG_FLAGS ) -installsuffix netgo -gcflags=all=" $( GOBUILDGCFLAGS) " -ldflags " $( GOBUILDLDFLAGS) " -o $(VBIN_OPS_DARWIN_ARM64 ) ./cmd/main-ops
450+ .PHONY : bin
451+ bin : $(BIN )
443452
444- $(BIN ) : $(VBIN_LINUX_AMD64 )
453+ $(BIN ) : $(VBIN_LINUX_AMD64 ) $( VBIN_OPS_LINUX_AMD64 ) $( VBIN_INT_LINUX_AMD64 )
445454 @cp " $( VBIN_LINUX_AMD64) " " $( BIN) "
446455 @cp " $( VBIN_OPS_LINUX_AMD64) " " $( BIN_OPS) "
447456
@@ -817,7 +826,7 @@ check-community:
817826 @$(MAKE ) _check RELEASE_MODE=community
818827
819828_check : sync-crds
820- @$(MAKE ) fmt yamlfmt license-verify linter run-unit-tests bin vulncheck-optional
829+ @$(MAKE ) fmt yamlfmt license-verify linter run-unit-tests bin-all vulncheck-optional
821830
822831generate : generate-internal generate-proto fmt yamlfmt
823832
0 commit comments