2011-03-09 86 views
0

我想爲某個案例寫一個makefile規則,其中 類型爲.bbb和.ccc的文件被編譯爲.aaa。Makefile規則,其中兩個先決條件之一匹配

我可以簡單地寫兩個規則:

%.aaa: %.bbb 
    process $< 
%.aaa: %.ccc 
    process $< 

但我wodering,這是否可以在一個規則來完成,如:

%.aaa: %.bbb OR %.ccc 
    process $< 

請注意,只有文件BBB之一或ccc就足夠編譯了,在我的情況下,只有一個存在(所以x.bbb或x.ccc,不是兩者)。

回答

2

第一種方法是如何表達這一點。所有的makefile規則都隱含在一起。說你可以從%.bbb或%.ccc創建%.aaa,就像說你可以從%.bbb創建%.aaa一樣,你可以從%.ccc創建%.aaa。

如果規則的主體是複雜的,而且你想「重用身體」,許多人擁有宏設施,可以讓你定義它並重用它。

+0

是的,主要想法是重新使用身體。感謝您的回答。 – Boocko 2011-03-09 19:53:59