可以编译打包以及用upx工具来压缩可执行命令的大小的简单模版
go_ldflags=-ldflags="-s -w"
agent_dist=dist
agent_main=main.go
build:
rm -rf $(agent_dist)
go mod tidy
GOARCH=amd64 GOOS=linux go build -tags netcgo ${go_ldflags} -o $(agent_dist)/agent_linux_amd64 $(agent_main)
GOARCH=amd64 GOOS=windows go build -tags netcgo ${go_ldflags} -o $(agent_dist)/agent_windows_amd64.exe $(agent_main)
GOARCH=amd64 GOOS=darwin go build -tags netcgo ${go_ldflags} -o $(agent_dist)/agent_mac_amd64 $(agent_main)
GOARCH=arm64 GOOS=darwin go build -tags netcgo ${go_ldflags} -o $(agent_dist)/agent_mac_arm64 $(agent_main)
GOARCH=arm64 GOOS=windows go build -tags netcgo ${go_ldflags} -o $(agent_dist)/agent_windows_arm64.exe $(agent_main)
GOARCH=arm64 GOOS=linux go build -tags netcgo ${go_ldflags} -o $(agent_dist)/agent_linux_arm64 $(agent_main)
compress_build:
upx -9 $(agent_dist)/agent_linux_amd64
upx -9 $(agent_dist)/agent_windows_amd64.exe
upx -9 $(agent_dist)/agent_mac_amd64
upx -9 $(agent_dist)/agent_mac_arm64
upx -9 $(agent_dist)/agent_windows_arm64.exe
upx -9 $(agent_dist)/agent_linux_arm64
package: build
tar zcvf dist/go-rest-agent.tgz dist/*
本文介绍了使用Go语言编译并利用upx工具压缩不同架构(amd64、arm64)的Linux、Windows和Darwin平台可执行文件的步骤,包括清理目录、打包、压缩和打包成tar.gz文件的过程。
6218

被折叠的 条评论
为什么被折叠?



