From 6902590e8251ee488520da9f812b0fb5d8184996 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= Date: Mon, 23 Aug 2021 16:29:41 +0300 Subject: [PATCH] add more targets --- Makefile | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 4b3832b..031200d 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,27 @@ GODEPS = $(shell git ls-files '*.go' go.mod go.sum) GOBIN = $(shell go env GOPATH)/bin/ -.PHONY: all -all: undocker coverage.html +GOOSARCHS = linux/amd64 \ + linux/arm64 \ + darwin/amd64 \ + darwin/arm64 \ + windows/amd64/.exe -undocker: $(GODEPS) - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build +define undockertarget +TARGETS += undocker-$(strip $(1))-$(strip $(2))$(firstword $(3)) +undocker-$(strip $(1))-$(strip $(2))$(firstword $(3)): $(GODEPS) + CGO_ENABLED=0 GOOS=$(strip $(1)) GOARCH=$(strip $(2)) go build -o $$@ +endef + +$(foreach goosarch,$(GOOSARCHS), \ + $(eval $(call undockertarget,\ + $(word 1,$(subst /, ,$(goosarch))),\ + $(word 2,$(subst /, ,$(goosarch))),\ + $(word 3,$(subst /, ,$(goosarch))),\ +))) + +.PHONY: all +all: $(TARGETS) coverage.html .PHONY: test test: @@ -31,4 +47,4 @@ coverage.html: coverage.out .PHONY: clean clean: - rm -f coverage.html undocker + rm -f coverage.html $(TARGETS)