From 9d380dbb095ef5a3ff45018fe3a3720857ca1fdf Mon Sep 17 00:00:00 2001 From: Karl Hiramoto Date: Thu, 2 Jul 2026 16:51:51 -0700 Subject: [PATCH] Makefile: build macOS universal binary and use it in release script --- Makefile | 16 +++++++++++++--- new_release.sh | 2 +- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index fbb5aaa..cde33e0 100644 --- a/Makefile +++ b/Makefile @@ -15,12 +15,22 @@ install: go install ${LDFLAGS} github.com/VirusTotal/vt-cli/vt # Build the project for multiple architectures -.PHONY: all -all: +.PHONY: bins +bins: gox ${LDFLAGS} \ - -osarch="linux/amd64 linux/386 windows/amd64 windows/386 darwin/amd64 freebsd/amd64 freebsd/386" \ + -osarch="linux/amd64 linux/386 windows/amd64 windows/386 darwin/amd64 darwin/arm64 freebsd/amd64 freebsd/386" \ -output "build/{{.OS}}/{{.Arch}}/{{.Dir}}" github.com/VirusTotal/vt-cli/vt +# Build a universal binary for macOS (combining amd64 and arm64) +.PHONY: all +all: bins + @mkdir -p build/darwin/universal + @if command -v lipo >/dev/null 2>&1; then \ + lipo -create -output build/darwin/universal/vt build/darwin/amd64/vt build/darwin/arm64/vt; \ + else \ + go run github.com/randall77/makefat@latest build/darwin/universal/vt build/darwin/amd64/vt build/darwin/arm64/vt; \ + fi + # Cleans our project: deletes binaries .PHONY: clean clean: diff --git a/new_release.sh b/new_release.sh index 7ca2589..8fc29f2 100755 --- a/new_release.sh +++ b/new_release.sh @@ -1,7 +1,7 @@ #!/bin/bash mkdir dist -zip -j dist/MacOSX.zip build/darwin/amd64/vt +zip -j dist/MacOSX.zip build/darwin/universal/vt zip -j dist/Linux32.zip build/linux/386/vt zip -j dist/Linux64.zip build/linux/amd64/vt zip -j dist/Windows32.zip build/windows/386/vt.exe