基本语法
targets: prerequisites
command
command
command
变量
声明变量
NAME=ClashV
BINDIR=bin
使用$()
来引用变量
PLATFORM_LIST = \
darwin-amd64 \
darwin-amd64-compatible \
all-arch: $(PLATFORM_LIST)
自动变量
$@
: 表示target
darwin-amd64:
GOARCH=amd64 GOOS=darwin $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
条件判断
ifeq ($(BRANCH),Alpha)
VERSION=alpha-$(shell git rev-parse --short HEAD)
else ifeq ($(BRANCH),Beta)
VERSION=beta-$(shell git rev-parse --short HEAD)
else ifeq ($(BRANCH),)
VERSION=$(shell git describe --tags)
else
VERSION=$(shell git rev-parse --short HEAD)
endif
函数
shell
BRANCH=$(shell git branch --show-current)