2016-08-13 56 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但它从来没有真正回答正确(即一个可能的解决方案)。

回答