add makefile
This commit is contained in:
parent
3413de82e4
commit
e9f967a46f
2 changed files with 107 additions and 0 deletions
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
/vendor
|
||||
/lorem
|
||||
/build
|
||||
104
Makefile
Normal file
104
Makefile
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
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 = lorem
|
||||
|
||||
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
|
||||
all: linux windows darwin
|
||||
|
||||
.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: $(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: 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 .
|
||||
Loading…
Add table
Add a link
Reference in a new issue