Skip to content

Instantly share code, notes, and snippets.

@DipandaAser
Created May 24, 2021 15:00
Show Gist options
  • Save DipandaAser/8f5149bb19c896594e43419d89be5aa2 to your computer and use it in GitHub Desktop.
Save DipandaAser/8f5149bb19c896594e43419d89be5aa2 to your computer and use it in GitHub Desktop.
Makefile for golang cross-compile binaries (linux, macOS, windows)
APPNAME=app
## build: build application binary.
build:build-windows build-linux build-macOS
@echo "Build done!"
build-windows:build-windows-32 build-windows-64
@echo "Windows Build done!"
build-windows-64:
go env -w GOOS=windows
go env -w GOARCH=amd64
go build -o bin/$(APPNAME)-windows-amd64.exe
build-windows-32:
go env -w GOOS=windows
go env -w GOARCH=386
go build -o bin/$(APPNAME)-windows-386.exe
build-macOS:build-macOS-64
@echo "macOS Build done!"
build-macOS-64:
go env -w GOOS=darwin
go env -w GOARCH=amd64
go build -o bin/$(APPNAME)-darwin-amd64
build-linux:build-linux-32 build-linux-64
@echo "Linux Build done!"
build-linux-64:
go env -w GOOS=linux
go env -w GOARCH=amd64
go build -o bin/$(APPNAME)-linux-amd64
build-linux-32:
go env -w GOOS=linux
go env -w GOARCH=amd64
go build -o bin/$(APPNAME)-linux-386
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment