zhangzengfei
2023-10-08 2cd1af13bc4e7aec4c85b9fe88db2d294af6468f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
CURRENT_DIR   := $(shell pwd | rev | awk -F \/ '{print $$1}' | rev)
BUILD_TIME    := $(shell date "+%F %T")
COMMIT_SHA1   := $(shell git rev-parse HEAD)
SOURCE        := main.go
CD            := $(shell pwd)
 
ifndef MODULE_NAME
MODULE_NAME := $(CURRENT_DIR)
endif
 
ifndef APP_NAME
APP_NAME := $(MODULE_NAME)
endif
 
ifndef TAGS
TAGS :=
endif
 
CUR_OS := $(shell uname -m)
ifdef PLATFORM
CUR_OS =$(PLATFORM)
endif
ifeq ("${CUR_OS}", "aarch64")
  export CGO_ENABLED=1
  export GOOS=linux
  export GOARCH=arm64
  export CC=/opt/l4t-gcc/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
  export CXX=/opt/l4t-gcc/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
  export CGO_CFLAGS=--sysroot=/opt/l4t-gcc/sysroot-glibc-linaro-2.25-2018.05-aarch64-linux-gnu
  export CGO_CXXFLAGS=--sysroot=/opt/l4t-gcc/sysroot-glibc-linaro-2.25-2018.05-aarch64-linux-gnu
  export CGO_LDFLAGS=--sysroot=/opt/l4t-gcc/sysroot-glibc-linaro-2.25-2018.05-aarch64-linux-gnu -lstdc++
endif
 
all:
     go build ${TAGS} -ldflags "-X 'basic.com/valib/version.git.BuildVersion=${BUILD_VERSION}' -X 'basic.com/valib/version.git.BuildTime=${BUILD_TIME}'  -X 'basic.com/valib/version.git.CommitSha1=${COMMIT_SHA1}' -X 'basic.com/valib/version.git.AppName=${APP_NAME}'" -a -o ${APP_NAME}
 
ifdef OUTPUT_DIR
     mkdir -p $(OUTPUT_DIR)
     mv ${APP_NAME} $(OUTPUT_DIR)
     $(INI_SCRIPT) -m=w -f="$(MANIFEST)" -section="$(APP_NAME)" -key=Version -value="$(BUILD_VERSION)"
     $(INI_SCRIPT) -m=w -f="$(MANIFEST)" -section="$(APP_NAME)" -key=BuildTime -value="$(BUILD_TIME)"
     $(INI_SCRIPT) -m=w -f="$(MANIFEST)" -section="$(APP_NAME)" -key=Commit -value="$(COMMIT_SHA1)"
     $(INI_SCRIPT) -m=w -f="$(MANIFEST)" -section="$(APP_NAME)" -key=Type -value=app
endif
 
clean:
    rm -f ${APP_NAME}
    
.PHONY : all clean     ${APP_NAME}