expiration-check/Makefile
2024-07-29 12:11:06 +02:00

112 lines
2.8 KiB
Makefile

CGO_ENABLED = 0
DIR = ./build
GO_ARCH_AMD = amd64
GO_ARCH_ARM = arm64
GO_OS_WIN = windows
GO_OS_DARWIN = darwin
GO_OS_LINUX = linux
EXECUTABLE = expiration-check
BIN_WIN_AMD64 = $(DIR)/$(EXECUTABLE)-windows-$(GO_ARCH_AMD).exe
BIN_WIN_ARM64 = $(DIR)/$(EXECUTABLE)-windows-$(GO_ARCH_ARM).exe
BIN_DARWIN_AMD64 = $(DIR)/$(EXECUTABLE)-darwin-$(GO_ARCH_AMD)
BIN_DARWIN_ARM64 = $(DIR)/$(EXECUTABLE)-darwin-$(GO_ARCH_ARM)
BIN_LINUX_AMD64 = $(DIR)/$(EXECUTABLE)-linux-$(GO_ARCH_AMD)
BIN_LINUX_ARM64 = $(DIR)/$(EXECUTABLE)-linux-$(GO_ARCH_ARM)
MAN_OUTPUT = $(DIR)/expiration-check.1
CC = go build
CFLAGS = -trimpath
LDFLAGS = all=-w -s
GCFLAGS = all=
ASMFLAGS = all=
.PHONY: all
all: linux windows darwin man
.PHONY: linux
linux: $(BIN_LINUX_AMD64) $(BIN_LINUX_ARM64)
chmod +x $(BIN_LINUX_ARM64)
chmod +x $(BIN_LINUX_AMD64)
.PHONY: darwin
darwin: $(BIN_DARWIN_AMD64) $(BIN_DARWIN_ARM64)
chmod +x $(BIN_DARWIN_AMD64)
chmod +x $(BIN_DARWIN_ARM64)
.PHONY: windows
windows: $(BIN_WIN_AMD64) $(BIN_WIN_ARM64)
.PHONY: man
man: $(BIN_LINUX_AMD64) $(MAN_OUTPUT)
.PHONY: $(BIN_LINUX_AMD64)
$(BIN_LINUX_AMD64):
GO111MODULE=$(GOMOD) \
GOARCH=$(GO_ARCH_AMD) \
GOOS=$(GO_OS_LINUX) \
CGO_ENABLED=$(CGO_ENABLED) \
$(CC) $(CFLAGS) -ldflags="$(LDFLAGS)" -gcflags="$(GCFLAGS)" -asmflags="$(ASMFLAGS)" \
-o $(BIN_LINUX_AMD64) .
.PHONY: $(BIN_LINUX_ARM64)
$(BIN_LINUX_ARM64):
GO111MODULE=$(GOMOD) \
GOARCH=$(GO_ARCH_ARM) \
GOOS=$(GO_OS_LINUX) \
CGO_ENABLED=$(CGO_ENABLED) \
$(CC) $(CFLAGS) -ldflags="$(LDFLAGS)" -gcflags="$(GCFLAGS)" -asmflags="$(ASMFLAGS)" \
-o $(BIN_LINUX_ARM64) .
.PHONY: $(BIN_WIN_AMD64)
$(BIN_WIN_AMD64):
GO111MODULE=$(GOMOD) \
GOARCH=$(GO_ARCH_AMD) \
GOOS=$(GO_OS_WIN) \
CGO_ENABLED=$(CGO_ENABLED) \
$(CC) $(CFLAGS) -ldflags="$(LDFLAGS)" -gcflags="$(GCFLAGS)" -asmflags="$(ASMFLAGS)" \
-o $(BIN_WIN_AMD64) .
.PHONY: $(BIN_WIN_ARM64)
$(BIN_WIN_ARM64):
GO111MODULE=$(GOMOD) \
GOARCH=$(GO_ARCH_ARM) \
GOOS=$(GO_OS_WIN) \
CGO_ENABLED=$(CGO_ENABLED) \
$(CC) $(CFLAGS) -ldflags="$(LDFLAGS)" -gcflags="$(GCFLAGS)" -asmflags="$(ASMFLAGS)" \
-o $(BIN_WIN_ARM64) .
.PHONY: $(BIN_DARWIN_AMD64)
$(BIN_DARWIN_AMD64):
GO111MODULE=$(GOMOD) \
GOARCH=$(GO_ARCH_AMD) \
GOOS=$(GO_OS_DARWIN) \
CGO_ENABLED=$(CGO_ENABLED) \
$(CC) $(CFLAGS) -ldflags="$(LDFLAGS)" -gcflags="$(GCFLAGS)" -asmflags="$(ASMFLAGS)" \
-o $(BIN_DARWIN_AMD64) .
.PHONY: $(BIN_DARWIN_ARM64)
$(BIN_DARWIN_ARM64):
GO111MODULE=$(GOMOD) \
GOARCH=$(GO_ARCH_ARM) \
GOOS=$(GO_OS_DARWIN) \
CGO_ENABLED=$(CGO_ENABLED) \
$(CC) $(CFLAGS) -ldflags="$(LDFLAGS)" -gcflags="$(GCFLAGS)" -asmflags="$(ASMFLAGS)" \
-o $(BIN_DARWIN_ARM64) .
.PHONY: $(MAN_OUTPUT)
$(MAN_OUTPUT):
./bin/create-manpage.sh
.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 .