08/08/06 10:12:15
>>145
make の動作原理は、makefileに記載したソースファイル→ターゲットファイルの依存関係について、
タイムスタンプを比較し、ソースよりターゲットが古い場合にコマンド(たとえばコンパイル)を実行するというものだ。
svn update でソースファイルを差し替えたのに、ターゲットファイルの日付より古ければ、
コマンド(コンパイル)が実施されず、update 前のソースで生成されたターゲットファイルでプログラムが出来上がってしまう。
B君が 二日前に foo.c を編集した
A君が 昨日checkoutして、make を実行し、foo.c から foo.o を生成した
B君が テストを終えて、本日 foo.c をcommitした
A君が 本日updateして、B君のfoo.cを取り込んだ。ここでmakeを実行するとして、
foo.cのタイムスタンプがB君編集時刻(2日前)だと