CGO_ENABLED = 1 DIR = ./build TAGS = GO_ARCH_AMD = amd64 GO_OS_LINUX = linux CUSTOM_EXTRA_NAME ?= EXECUTABLE = wireguard-gui BIN_LINUX_AMD64 = $(DIR)/$(EXECUTABLE)-$(GO_OS_LINUX)$(CUSTOM_EXTRA_NAME)-$(GO_ARCH_AMD) CC = go build LDFLAGS = all=-w -s .PHONY: all all: linux .PHONY: linux linux: $(BIN_LINUX_AMD64) chmod +x $(BIN_LINUX_AMD64) .PHONY: $(BIN_LINUX_AMD64) $(BIN_LINUX_AMD64): CGO_ENABLED=$(CGO_ENABLED) \ GOARCH=$(GO_ARCH_AMD) \ GOOS=$(GO_OS_LINUX) \ $(CC) \ -ldflags="$(LDFLAGS)" \ -tags="$(TAGS)" \ -o $(BIN_LINUX_AMD64) . .PHONY: clean clean: rm -rf $(DIR)/* tool-gofumpt: which golangci-lint > /dev/null 2>&1 || go install mvdan.cc/gofumpt@latest fmt: tool-gofumpt gofumpt -w --extra .