0
我正在使用makefile處理項目。一些制定規則具有以下格式:makefile依賴列表中的冒號意味着什麼?
a.o b.o c.o : %.o : %.c
gcc -c $< -o [email protected]
這樣的規則的含義是什麼?我無法在官方手冊中找到解釋,但我想它僅用於對列爲目標的* .o文件應用模式匹配。那是對的嗎?
我正在使用makefile處理項目。一些制定規則具有以下格式:makefile依賴列表中的冒號意味着什麼?
a.o b.o c.o : %.o : %.c
gcc -c $< -o [email protected]
這樣的規則的含義是什麼?我無法在官方手冊中找到解釋,但我想它僅用於對列爲目標的* .o文件應用模式匹配。那是對的嗎?
從GNU引用請,
靜態模式規則是指定多個目標的規則,並且基於目標名稱 構建每個目標的先決條件名稱。它們比具有多個目標的普通規則更普遍 ,因爲目標不必具有相同的先決條件。他們的 先決條件必須是類似的,但不一定完全相同。
靜態圖案規則的語法:
targets : target-pattern: prereq-patterns …
recipe
…
圖案規則被提及作爲%目標。它匹配.o
這裏a.o
,b.o
和c.o
的任何目標結束。
這裏'$<’
是保留前提條件名稱的自動變量,'[email protected]’
是保存目標名稱的自動變量。
a.o b.o c.o : %.o : %.c
gcc -c $< -o [email protected]