具有多個目標的規則

具有多個目標的規則等同於寫多條規則,這些規則除了目標不同之外,其餘部分完全相 同。相同的命令應用於所有目標,但命令執行的結果可能有所差異,因此您可以在命令中使 用‘$@’分配不同的實際目標名稱。這條規則同樣意味著所有的目標有相同的依賴。

所有的目標使用相同的命令。但命令的執行結果未必完全相同,因為自動變數 ‘$@’可以在重建時指定目標。例如:

bigoutput littleoutput : text.g
    generate text.g -$(subst output,,$@) > $@

等同於:

bigoutput : text.g
    generate text.g -big > bigoutput
littleoutput : text.g
    generate text.g -little > littleoutput

這裏我們假設程式可以產生兩種輸出檔類型:一種給出‘-big’,另一種給出‘-little’。

results matching ""

    No results matching ""