.PHONY: all linux darwin freebsd clean all: linux darwin freebsd linux: $(addprefix dist/autoupdate.linux.,amd64 arm64) darwin: $(addprefix dist/autoupdate.darwin.,arm64 amd64) freebsd: $(addprefix dist/autoupdate.freebsd.,amd64 arm) clean: rm -rf dist dist/autoupdate.%: *.go go.mod go.sum $(eval platform := $(subst ., ,$@)) $(eval os := $(word 2,$(platform))) $(eval arch := $(word 3,$(platform))) GOOS=$(os) GOARCH=$(arch) go build -o $@