refactor the Makefile
add arm64 build for windows and ios
This commit is contained in:
parent
63310a2f2e
commit
3c4cdf12a2
1 changed files with 82 additions and 41 deletions
119
Makefile
119
Makefile
|
|
@ -1,56 +1,97 @@
|
||||||
CGO_ENABLED = 0
|
CGO_ENABLED = 0
|
||||||
DIR = ./build
|
DIR = ./build
|
||||||
GOARCH = amd64
|
|
||||||
GOARM = arm64
|
|
||||||
GOOSWIN = windows
|
|
||||||
GOOSX = darwin
|
|
||||||
GOOSLINUX = linux
|
|
||||||
EXECUTABLE = expiration-check
|
|
||||||
|
|
||||||
WINBIN = $(DIR)/$(EXECUTABLE)-win-$(GOARCH).exe
|
GO_ARCH_AMD = amd64
|
||||||
OSXBIN = $(DIR)/$(EXECUTABLE)-darwin-$(GOARCH)
|
GO_ARCH_ARM = arm64
|
||||||
LINUXBIN = $(DIR)/$(EXECUTABLE)-linux-$(GOARCH)
|
|
||||||
ARMBIN = $(DIR)/$(EXECUTABLE)-linux-$(GOARM)
|
|
||||||
|
|
||||||
CC = go build
|
GO_OS_WIN = windows
|
||||||
CFLAGS = -trimpath
|
GO_OS_DARWIN = darwin
|
||||||
LDFLAGS = all=-w -s
|
GO_OS_LINUX = linux
|
||||||
GCFLAGS = all=
|
|
||||||
ASMFLAGS = all=
|
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)
|
||||||
|
|
||||||
|
CC = go build
|
||||||
|
CFLAGS = -trimpath
|
||||||
|
LDFLAGS = all=-w -s
|
||||||
|
GCFLAGS = all=
|
||||||
|
ASMFLAGS = all=
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
all: darwin linux win64 arm
|
all: linux windows darwin
|
||||||
|
|
||||||
.PHONY: linux
|
.PHONY: linux
|
||||||
linux: $(LINUXBIN)
|
linux: $(BIN_LINUX_AMD64) $(BIN_LINUX_ARM64)
|
||||||
chmod +x $(LINUXBIN)
|
chmod +x $(BIN_LINUX_ARM64)
|
||||||
|
chmod +x $(BIN_LINUX_AMD64)
|
||||||
.PHONY: arm
|
|
||||||
arm: $(ARMBIN)
|
|
||||||
chmod +x $(ARMBIN)
|
|
||||||
|
|
||||||
.PHONY: darwin
|
.PHONY: darwin
|
||||||
darwin: $(OSXBIN)
|
darwin: $(BIN_DARWIN_AMD64) $(BIN_DARWIN_ARM64)
|
||||||
chmod +x $(OSXBIN)
|
chmod +x $(BIN_DARWIN_AMD64)
|
||||||
|
chmod +x $(BIN_DARWIN_ARM64)
|
||||||
|
|
||||||
.PHONY: win64
|
.PHONY: windows
|
||||||
win64: $(WINBIN)
|
windows: $(BIN_WIN_AMD64) $(BIN_WIN_ARM64)
|
||||||
|
|
||||||
.PHONY: $(OSXBIN)
|
.PHONY: $(BIN_LINUX_AMD64)
|
||||||
$(OSXBIN):
|
$(BIN_LINUX_AMD64):
|
||||||
GO111MODULE=$(GOMOD) GOARCH=$(GOARCH) GOOS=$(GOOSX) CGO_ENABLED=$(CGO_ENABLED) $(CC) $(CFLAGS) -o $(OSXBIN) -ldflags="$(LDFLAGS)" -gcflags="$(GCFLAGS)" -asmflags="$(ASMFLAGS)" .
|
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: $(ARMBIN)
|
.PHONY: $(BIN_LINUX_ARM64)
|
||||||
$(ARMBIN):
|
$(BIN_LINUX_ARM64):
|
||||||
GO111MODULE=$(GOMOD) GOARCH=$(GOARCH) GOOS=$(GOOSLINUX) CGO_ENABLED=$(CGO_ENABLED) $(CC) $(CFLAGS) -o $(ARMBIN) -ldflags="$(LDFLAGS)" -gcflags="$(GCFLAGS)" -asmflags="$(ASMFLAGS)" .
|
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: $(LINUXBIN)
|
.PHONY: $(BIN_WIN_AMD64)
|
||||||
$(LINUXBIN):
|
$(BIN_WIN_AMD64):
|
||||||
GO111MODULE=$(GOMOD) GOARCH=$(GOARCH) GOOS=$(GOOSLINUX) CGO_ENABLED=$(CGO_ENABLED) $(CC) $(CFLAGS) -o $(LINUXBIN) -ldflags="$(LDFLAGS)" -gcflags="$(GCFLAGS)" -asmflags="$(ASMFLAGS)" .
|
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: $(WINBIN)
|
.PHONY: $(BIN_WIN_ARM64)
|
||||||
$(WINBIN):
|
$(BIN_WIN_ARM64):
|
||||||
GO111MODULE=$(GOMOD) GOARCH=$(GOARCH) GOOS=$(GOOSWIN) CGO_ENABLED=$(CGO_ENABLED) $(CC) $(CFLAGS) -o $(WINBIN) -ldflags="$(LDFLAGS)" -gcflags="$(GCFLAGS)" -asmflags="$(ASMFLAGS)" .
|
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: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue