@@ -248,39 +248,78 @@ BIN_PLATFORM_NAME := $(PROJECT)_platform
248248BIN_PLATFORM := $(BINDIR ) /$(BIN_PLATFORM_NAME )
249249
250250define binary
251+ $(eval $(call binary_operator,$1,$2,$3) )
252+ $(eval $(call binary_ops,$1,$2,$3) )
253+ $(eval $(call binary_int,$1,$2,$3) )
254+ $(eval $(call binary_platform,$1,$2,$3) )
255+ endef
256+
257+ define binary_operator
251258$(eval _OS:=$(call UPPER_ENV,$1) )
252259$(eval _ARCH:=$(call UPPER_ENV,$2) )
253- VBIN_$(_OS ) _$(_ARCH ) := $(BINDIR ) /$(RELEASE_MODE ) /$1/$2/$(BINNAME )
254- VBIN_OPS_$(_OS ) _$(_ARCH ) := $(BINDIR ) /$(RELEASE_MODE ) /$1/$2/$(BIN_OPS_NAME )
255- VBIN_INT_$(_OS ) _$(_ARCH ) := $(BINDIR ) /$(RELEASE_MODE ) /$1/$2/$(BIN_INT_NAME )
256- VBIN_PLATFORM_$(_OS ) _$(_ARCH ) := $(BINDIR ) /$(RELEASE_MODE ) /$1/$2/$(BIN_PLATFORM_NAME )
257260
258- $$(VBIN_$(_OS ) _$(_ARCH ) ) : $$(SOURCES ) dashboard/assets.go VERSION
261+ VBIN_OPERATOR_$(_OS ) _$(_ARCH ) := $(BINDIR ) /$(RELEASE_MODE ) /$1/$2/$(BINNAME ) $3
262+
263+ .PHONY: $$(VBIN_OPERATOR_$(_OS ) _$(_ARCH ) )
264+
265+ $$(VBIN_OPERATOR_$(_OS ) _$(_ARCH ) ) : $$(SOURCES ) dashboard/assets.go VERSION
259266 @mkdir -p $(BINDIR ) /$(RELEASE_MODE ) /$1/$2
260267 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
261268
262- $$(VBIN_OPS_$(_OS ) _$(_ARCH ) ) : $$(SOURCES ) dashboard/assets.go VERSION
263- @mkdir -p $(BINDIR ) /$(RELEASE_MODE ) /$1/$2
264- 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
269+ bin-all: $$(VBIN_OPERATOR_$(_OS ) _$(_ARCH ) )
270+ endef
271+
272+ define binary_int
273+ $(eval _OS:=$(call UPPER_ENV,$1) )
274+ $(eval _ARCH:=$(call UPPER_ENV,$2) )
275+
276+ VBIN_INT_$(_OS ) _$(_ARCH ) := $(BINDIR ) /$(RELEASE_MODE ) /$1/$2/$(BIN_INT_NAME ) $3
277+
278+ .PHONY: $$(VBIN_INT_$(_OS ) _$(_ARCH ) )
265279
266280$$(VBIN_INT_$(_OS ) _$(_ARCH ) ) : $$(SOURCES ) dashboard/assets.go VERSION
267281 @mkdir -p $(BINDIR ) /$(RELEASE_MODE ) /$1/$2
268282 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
269283
284+ bin-all: $$(VBIN_INT_$(_OS ) _$(_ARCH ) )
285+ endef
286+
287+ define binary_ops
288+ $(eval _OS:=$(call UPPER_ENV,$1) )
289+ $(eval _ARCH:=$(call UPPER_ENV,$2) )
290+
291+ VBIN_OPS_$(_OS ) _$(_ARCH ) := $(BINDIR ) /$(RELEASE_MODE ) /$1/$2/$(BIN_OPS_NAME ) $3
292+
293+ .PHONY: $$(VBIN_OPS_$(_OS ) _$(_ARCH ) )
294+
295+ $$(VBIN_OPS_$(_OS ) _$(_ARCH ) ) : $$(SOURCES ) dashboard/assets.go VERSION
296+ @mkdir -p $(BINDIR ) /$(RELEASE_MODE ) /$1/$2
297+ 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
298+
299+ bin-all: $$(VBIN_OPS_$(_OS ) _$(_ARCH ) )
300+ endef
301+
302+ define binary_platform
303+ $(eval _OS:=$(call UPPER_ENV,$1) )
304+ $(eval _ARCH:=$(call UPPER_ENV,$2) )
305+
306+ VBIN_PLATFORM_$(_OS ) _$(_ARCH ) := $(BINDIR ) /$(RELEASE_MODE ) /$1/$2/$(BIN_PLATFORM_NAME ) $3
307+
270308.PHONY: $$(VBIN_PLATFORM_$(_OS ) _$(_ARCH ) )
271309
272310$$(VBIN_PLATFORM_$(_OS ) _$(_ARCH ) ) : $$(SOURCES ) dashboard/assets.go VERSION
273311 @mkdir -p $(BINDIR ) /$(RELEASE_MODE ) /$1/$2
274312 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-platform
275313
276- bin-all: $$(VBIN_$(_OS ) _$(_ARCH ) ) $$(VBIN_OPS_$(_OS ) _$(_ARCH ) ) $$(VBIN_INT_$(_OS ) _$(_ARCH ) ) $$(VBIN_PLATFORM_$(_OS ) _$(_ARCH ) )
277-
314+ bin-all: $$(VBIN_PLATFORM_$(_OS ) _$(_ARCH ) )
278315endef
279316
280317$(eval $(call binary,linux,amd64))
281318$(eval $(call binary,linux,arm64))
282319$(eval $(call binary,darwin,amd64))
283320$(eval $(call binary,darwin,arm64))
321+ $(eval $(call binary_platform,windows,amd64,.exe))
322+ $(eval $(call binary_platform,windows,arm64,.exe))
284323
285324ifdef VERBOSE
286325 TESTVERBOSEOPTIONS := -v
@@ -474,8 +513,8 @@ dashboard/assets.go:
474513.PHONY : bin
475514bin : $(BIN )
476515
477- $(BIN ) : $(VBIN_LINUX_AMD64 ) $(VBIN_OPS_LINUX_AMD64 ) $(VBIN_INT_LINUX_AMD64 ) $(VBIN_PLATFORM_LINUX_AMD64 )
478- @cp " $( VBIN_LINUX_AMD64 ) " " $( BIN) "
516+ $(BIN ) : $(VBIN_OPERATOR_LINUX_AMD64 ) $(VBIN_OPS_LINUX_AMD64 ) $(VBIN_INT_LINUX_AMD64 ) $(VBIN_PLATFORM_LINUX_AMD64 )
517+ @cp " $( VBIN_OPERATOR_LINUX_AMD64 ) " " $( BIN) "
479518 @cp " $( VBIN_OPS_LINUX_AMD64) " " $( BIN_OPS) "
480519
481520.PHONY : docker
0 commit comments