1
如果我有一組文件*包含.foo被「編譯」的一組*的.bar使用foo2bar some.foo
「編譯」我可以寫一個Makefile是這樣的:Makefile中沒有明確的目標
%.bar: %.foo
<tab>foo2bar $<
但是,如果沒有* .bar,我不能只輸入類似make all
的東西,並且生成所有* .bar。
如何判斷make是否創建與* .bar匹配的所有缺失目標?
如果我有一組文件*包含.foo被「編譯」的一組*的.bar使用foo2bar some.foo
「編譯」我可以寫一個Makefile是這樣的:Makefile中沒有明確的目標
%.bar: %.foo
<tab>foo2bar $<
但是,如果沒有* .bar,我不能只輸入類似make all
的東西,並且生成所有* .bar。
如何判斷make是否創建與* .bar匹配的所有缺失目標?
只要你使用GNU使(你似乎是因爲你使用了%-notation的話):
all: $(patsubst %.foo,%.bar,$(wildcard *.foo))
BSD make也有%(至少它沒有在FreeBSD我最後一次檢查)。 – reinierpost 2012-03-14 14:11:28