记录:Makefile获取git信息

C++/C通过Makefile设置宏定义获取git信息并打印
Makefile:(截取部分)

CXXFLAGS := -Wall -Werror -O3 -g -Wunused -Wunreachable-code -Wno-pointer-arith -Wno-unused-parameter -Wno-unused-result -Wno-deprecated -Wno-unused-variable -fPIC -std=c++0x -fno-rtti -g -v
CFLAGS := -Wall -Werror -O0 -g -pg -Wno-unused -Wno-unreachable-code -Wno-unused-parameter -Wno-unused-result -Wno-deprecated -fPIC

GIT_SHA = $(shell git rev-list HEAD | awk 'NR==1')
GIT_SVR_PATH = $(shell git remote -v | awk 'NR==1' | sed 's/[()]//g' | sed 's/\t/ /g' |cut -d " " -f2)
GIT_BRANCH = $(shell git branch | sed -n '/\* /s///p')
GIT_TAG_LABLE = $(shell git tag --sort=-taggerdate|head -n 1')

ifneq ($(GIT_SHA),)
CXXFLAGS += -DGIT_COMMIT=\"$(GIT_SHA)\"
else
CXXFLAGS += -DGIT_COMMIT=\"unknown\"
endif
CXXFLAGS += -DGIT_PATH=\"$(GIT_SVR_PATH)\"
CXXFLAGS += -DGIT_BRANCH=\"$(GIT_BRANCH)\"
CXXFLAGS += -DGIT_TAG=\"$(GIT_TAG_LABLE)\"

.c文件

static void printVersionInfo()
{
#ifdef GIT_PATH
    HLOGI("**********************************************************************************");
    HLOGI("*    BuildTime  : %s %s", __DATE__, __TIME__);
    HLOGI("*    GitPath    : %s", GIT_PATH);
    HLOGI("*    GitBranch  : %s", GIT_BRANCH);
    HLOGI("*    GitTag     : %s", GIT_TAG);
    HLOGI("*    GitCommit  : %s", GIT_COMMIT);
    HLOGI("*    GitVersion : %s", "V1.0.1");
    HLOGI("**********************************************************************************");
#else
    HLOGI("**********************************************************************************");
    HLOGI("*    BuildTime  : %s %s", __DATE__, __TIME__);
    HLOGI("**********************************************************************************");
#endif
}

结果:
在这里插入图片描述

END.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值