具有多條規則的目標

一個目標檔可以有多個規則。在所有規則中提及的依賴都將融合在一個該目標的依賴列 表中。如果該目標比任何一個依賴‘舊’,所有的命令將執行重建該目標。 但如果一條以上的規則對同一檔給出多條命令,make 將使用最後給出的規則,同時列 印錯誤資訊。(作為特例,如果檔案名以點‘.’開始,不列印出錯資訊。這種古怪的行為僅僅 是為了和其他版本的make相容)。您沒有必要這樣編寫您的makefile檔,這正是make給您 發出錯誤資訊的原因。 一條特別的依賴規則可以用來立即給多條目標檔提供一些額外的依賴。例如,使用名為 ‘objects’的變數,該變數包含系統產生的所有輸出檔列表。如果‘congfig.h’發生變化所有的輸 出檔必須重新編譯,可以採用下列簡單的方法編寫:

objects = foo.o bar.o
foo.o : defs.h
bar.o : defs.h test.h
$(objects) : config.h

這些可以自由插入或取出而不影響實際指定的目標檔生成規則,如果您希望斷斷續續的為目 標添加依賴,這是非常方便的方法。

results matching ""

    No results matching ""