2012-02-17 17 views
1

我想寫一個製作規則說,粗略地說:「如果你需要建立目標,還建立前提條件。但是,做重建目標因爲prereq的變化。「使未監測變化依賴

現在我使用這個技巧:

target: otherprereqs 
    $(MAKE) prereq 
    RECIPE 

是否有這樣做的更好的辦法?

+0

這沒有任何意義。根據你的破解,即使'prereq'發生變化,Make應該重建'target'。 – Beta 2012-02-17 21:35:53

+0

只有** otherprereqs **更改。 ** prereq **改變不應阻止構建**目標**,但不應該導致它。 – 2012-02-18 03:42:02

回答

3

好吧,我想我知道你的意思。如果您的GNUMake版本足夠近,您可以使用order-only prerequisites

target: otherprereqs | prereq 
    RECIPE 
+0

謝謝,這正是我想要的。 – 2012-02-18 03:50:27

+0

哎呀,對不起,我收回了。文檔中的描述有點令人困惑。如果需要,這將構建prereq,但可能無法構建目標。我希望只有在構建目標時纔會構建prereq。 – 2012-02-18 06:35:57

+0

在這種情況下,你的破解就是你可以做的最好的。 (請注意,不是調用'$(MAKE)',而是可以放入prereq的配方。) – Beta 2012-02-18 16:01:32