2016-08-13 65 views
1

是否可以創建一個Makefile,其中包含具備先決條件但不包含主體的所有規則(即%: ...)?做規則沒有配方,但有先決條件?

這是我遇到的問題的一個例子:

.SUFFIXES: 

%: patches/% downloads/% 
    @echo [email protected] 

patches/%: 
    @echo [email protected] 

downloads/%: patches/% 
    @echo [email protected] 

.SUFFIXES: 

%: patches/% downloads/% 

patches/%: 
    @echo [email protected] 

downloads/%: patches/% 
    @echo [email protected] 
$ make patches/latest 
patches/latest 
$ make downloads/latest 
downloads/latest 
$ make latest 
make: *** No rule to make target `latest'. Stop. 

我可以通過增加身體到catch-all規則 「解決」 這個問題

$ make patches/latest 
patches/latest 
$ make downloads/latest 
downloads/latest 
$ make latest 
patches/latest 
downloads/latest 
latest 

是否有可能做到這一點,而沒有一個全面的規則食譜?

我發現了一個類似的問題here但它從來沒有真正回答正確(即一個可能的解決方案)。

回答