推 Schottky: recipe 沒寫就會使用 implicit rules 01/20 16:01
→ Schottky: 第二個問題是你誤會了,文意是在解釋 sed 的作用 01/20 16:04
→ anoymouse: 喔喔對 忘記了 01/20 16:19
→ anoymouse: 但是第二個問題 還是不懂 sed的作用就是這個結果啊? 01/20 16:20
→ Schottky: 用意是當 foo.c *以外* 的 dependencies 有變化時 01/20 17:30
→ Schottky: 依然能觸發 foo.d 的 remake 01/20 17:31
→ Schottky: 比如說有人改了 common.h 造成 foo.d 必須更新 01/20 17:32
→ anoymouse: 可是implicit rules會推導出foo.d的remake嗎? 01/21 09:16
remake一次 是不是就要做類似範例的動作一次?
※ 編輯: anoymouse (61.216.7.85 臺灣), 01/21/2020 09:24:53
→ Schottky: foo.d 沒有 implicit rules 01/21 14:58
→ Schottky: 它的 rule/recipe 已經寫在前面了,就是 sed 那幾行 01/21 14:58
釐清一下:
所以有兩個地方有foo.d的rules
1. %.d:%.c
sed .....
2. foo.o foo.d: foo.c foo.h defs.h common.h
foo.d的recipe只有在1.有寫,也就是foo.c比foo.d還新的的時候才會執行吧?
就算2中的.h有任何一個比foo.d還新,也不會因為就這樣跳到1.的rule去執行1.的recipe
吧?
→ MOONRAKER: 你要不要看簡單一點的範例。 01/22 15:31
※ 編輯: anoymouse (61.230.114.99 臺灣), 01/24/2020 15:30:17
※ 編輯: anoymouse (61.230.114.99 臺灣), 01/24/2020 15:33:44