mirror of
https://gitee.com/sjqzhang/go-fastdfs.git
synced 2024-11-29 17:57:41 +08:00
70 lines
2.3 KiB
Makefile
70 lines
2.3 KiB
Makefile
VERSION=`git tag | head -1`
|
||
GO_VERSION=`go version`
|
||
VERSION_LATEST=`git tag | tail -n 1`
|
||
VERSION_MASTER=master
|
||
COMMIT=`git rev-parse --short HEAD`
|
||
BUILDDATE=`date "+%Y-%m-%d/%H:%M:%S"`
|
||
BUILD_DIR=build
|
||
APP_NAME=fileserver
|
||
sources=$(wildcard *.go)
|
||
|
||
ifeq ($(wildcard md5),)
|
||
md5sum=md5
|
||
else
|
||
md5sum=md5sum
|
||
endif
|
||
|
||
build = GOOS=$(1) GOARCH=$(2) go build -o ${BUILD_DIR}/$(APP_NAME)-$(1)-$(2) -ldflags "-w -s -X 'main.VERSION=${VERSION}' -X 'main.GO_VERSION=${GO_VERSION}' -X 'main.GIT_VERSION=${COMMIT}' -X 'main.BUILD_TIME=${BUILDDATE}'" main.go
|
||
#判断md5sum命令是否存在,如果存在则执行md5sum命令,否则执行md5命令
|
||
ifeq ($(wildcard md5),)
|
||
md5 = md5 ${BUILD_DIR}/$(APP_NAME)-$(1)-$(2) > ${BUILD_DIR}/$(APP_NAME)-$(1)-$(2)_checksum.txt
|
||
else
|
||
md5 = md5sum ${BUILD_DIR}/$(APP_NAME)-$(1)-$(2) > ${BUILD_DIR}/$(APP_NAME)-$(1)-$(2)_checksum.txt
|
||
endif
|
||
tar = tar -cvzf ${BUILD_DIR}/$(APP_NAME)-$(1)-$(2).tar.gz -C ${BUILD_DIR} $(APP_NAME)-$(1)-$(2) $(APP_NAME)-$(1)-$(2)_checksum.txt
|
||
delete = rm -rf ${BUILD_DIR}/$(APP_NAME)-$(1)-$(2) ${BUILD_DIR}/$(APP_NAME)-$(1)-$(2)_checksum.txt
|
||
|
||
mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
|
||
|
||
CURRENT_DIR := $(notdir $(patsubst %/,%,$(dir $(mkfile_path))))
|
||
|
||
ROOT_DIR:=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
|
||
|
||
PROTO_SRC_PATH =${ROOT_DIR}/rpc
|
||
|
||
ALL_LINUX = linux-amd64 \
|
||
linux-386 \
|
||
linux-arm \
|
||
linux-arm64
|
||
|
||
OTHER_LINUX = linux-loong64
|
||
|
||
ALL = $(ALL_LINUX) \
|
||
darwin-amd64 \
|
||
darwin-arm64 \
|
||
$(OTHER_LINUX)
|
||
|
||
.DEFAULT_GOAL := build_all
|
||
|
||
build_linux: $(ALL_LINUX:%=build/%)
|
||
|
||
build_all: $(ALL:%=build/%)
|
||
|
||
build/%:
|
||
-$(call build,$(firstword $(subst -, , $*)),$(word 2, $(subst -, ,$*)))
|
||
-$(call $md5sum,$(firstword $(subst -, , $*)),$(word 2, $(subst -, ,$*)))
|
||
-$(call tar,$(firstword $(subst -, , $*)),$(word 2, $(subst -, ,$*)))
|
||
-$(call delete,$(firstword $(subst -, , $*)),$(word 2, $(subst -, ,$*)))
|
||
|
||
clean:
|
||
rm -rf ${BUILD_DIR}
|
||
|
||
build:
|
||
go build -v -ldflags "-w -s -X 'main.VERSION=${VERSION}' -X 'main.GO_VERSION=${GO_VERSION}' -X 'main.GIT_VERSION=${COMMIT}' -X 'main.BUILD_TIME=${BUILDDATE}'" -o ${BUILD_DIR}/${APP_NAME} main.go
|
||
|
||
vet:
|
||
go vet main.go
|
||
|
||
linux:
|
||
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ${BUILD_DIR}/${APP_NAME} -ldflags "-w -s -X 'main.VERSION=${VERSION_MASTER}' -X 'main.GO_VERSION=${GO_VERSION}' -X 'main.GIT_VERSION=${COMMIT}' -X 'main.BUILD_TIME=${BUILDDATE}'" main.go
|