2012-03-14 64 views
1

如果我有一組文件*包含.foo被「編譯」的一組*的.bar使用foo2bar some.foo「編譯」我可以寫一個Makefile是這樣的:Makefile中沒有明確的目標

%.bar: %.foo 
    <tab>foo2bar $< 

但是,如果沒有* .bar,我不能只輸入類似make all的東西,並且生成所有* .bar。

如何判斷make是否創建與* .bar匹配的所有缺失目標?

回答

2

只要你使用GNU使(你似乎是因爲你使用了%-notation的話):

all: $(patsubst %.foo,%.bar,$(wildcard *.foo)) 
+0

BSD make也有%(至少它沒有在FreeBSD我最後一次檢查)。 – reinierpost 2012-03-14 14:11:28