Chinaunix首页 | 论坛 | 博客
  • 博客访问: 638433
  • 博文数量: 85
  • 博客积分: 1306
  • 博客等级: 中尉
  • 技术积分: 990
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-28 11:23
个人简介

嵌入式视频行业。

文章分类

全部博文(85)

文章存档

2015年(7)

2014年(5)

2013年(41)

2012年(11)

2011年(1)

2010年(3)

2008年(17)

分类: LINUX

2013-03-23 10:46:16

摘自Redis源码:

 

in Makefile


  1. release_hdr := $(shell sh -c './mkreleasehdr.sh')

 in mkreleasehdr.sh


  1. #!/bin/sh
  2. GIT_SHA1=`(git show-ref --head --hash=8 2> /dev/null || echo 00000000) | head -n1`
  3. GIT_DIRTY=`git diff --no-ext-diff 2> /dev/null | wc -l`
  4. test -f release.h || touch release.h
  5. (cat release.h | grep SHA1 | grep $GIT_SHA1) && \
  6. (cat release.h | grep DIRTY | grep $GIT_DIRTY) && exit 0 # Already uptodate
  7. echo "#define REDIS_GIT_SHA1 \"$GIT_SHA1\"" > release.h
  8. echo "#define REDIS_GIT_DIRTY \"$GIT_DIRTY\"" >> release.h
  9. touch release.c # Force recompile of release.c

in release.c


  1. /* Every time the Redis Git SHA1 or Dirty status changes only this file
  2. * small file is recompiled, as we access this information in all the other
  3. * files using this functions. */

  4. #include "release.h"

  5. char *redisGitSHA1(void) {
  6. return REDIS_GIT_SHA1;
  7. }

  8. char *redisGitDirty(void) {
  9. return REDIS_GIT_DIRTY;
  10. }


阅读(1698) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

yuan23040272014-09-17 09:33:41

大哥,请问还有其他办法吗