linuxプログラムのコンパイル期間にコンパイル時間とsvnバージョン番号を追加

1080 ワード

通常、プログラム開発時に「-v」などのバージョンクエリーコマンドを追加しますが、buildバージョンやbuild日付などが表示されるので、コンパイルするたびに自動的に追加できれば便利です.
次に、時間を追加する方法について説明します.
1.最も簡単な方法で、コードに直接マクロを加える
__TIME__ __DATE__
は、コンパイル時間を直接取得し、コードに印刷することができます.
2.少し巻き付けが実用的ではなく、Makefileで変数を定義します.
CT="\"`date '+%Y-%m-%d %H:%M:%S'`"\"

コンパイルコマンドラインにマクロを追加
-DCT=$(CT)

次にコードに印刷できます
3.また、スクリプトで日付を1つのファイルに出力することもできます
#!/bin/sh
Version=1.0
Time=\"$(date '+%Y-%m-%d %H:%M:%S')\"
Output="#define BUILD_TIMER $Time
#define BUILD_VERSION $Version" echo "$Output" > version.h
これはちょっと面倒ですが、書いてもいいです.
次に、svnバージョンを取得する方法について説明します.
1.Makefileで変数を定義する
REV=`svn info | grep Revision | awk '{print $2}'`
# 
REV=`svn info | grep Revision | cut -d " " -f 2`
REV=`svnversion ../../`
その後、コンパイルコマンドラインにマクロを追加
-DREV=$(REV)

成功しました.コードに印刷しましょう.