使用空目標檔記錄事件

空目標是一個假想目標變數,它用來控制一些命令的執行,這些命令可用來完成一些經 常需要的具體任務。但又不象真正的假想目標,它的目標檔可以實際存在,但檔的內容與此 無關,通常情況下,這些檔沒有內容。 空目標檔的用途是用來記錄規則的命令最後一次執行的時間,也是空目標檔最後更改的 時間。它之所以能夠這樣執行是因為規則的命令中有一條用於更新目標檔的‘touch’命令。另 外,空目標檔應有一些依賴(否則空目標檔沒有存在的意義)。如果空目標比它的依賴舊, 當您命令重建空目標檔時,有關的命令才會執行。下面有一個例子:

print: foo.c bar.c
    ls $?
    touch print

按照這個規則,如果任何一個原始檔案從上次執行‘make print'以來發生變化,鍵入‘make print'則執行ls命令。自動變數‘$?’用來列印那些發生變化的檔。

results matching ""

    No results matching ""