如何向源添加修订和构建日期?

guc*_*cki 13 git gcc revision date build

我有一个GCC项目,并希望自动添加构建日期和修订号(从git)的定义到我的源.最好的方法是什么?

我的目标很简单,能够在启动时做这样的事情:

printf("Test app build on %s, revision %d", BUILD_DATE, REVISION)
Run Code Online (Sandbox Code Playgroud)

对于构建我使用make与简单的Makefile.inc,而不是autoconf或类似的东西.

guc*_*cki 7

我最终在我的使用中使用了这样一个简单的命令Makefile:

echo "#define GIT_REF \"`git show-ref refs/heads/master | cut -d " " -f 1 | cut -c 31-40`\"" > git_ref.h
Run Code Online (Sandbox Code Playgroud)