没有显式目标的Makefile

没有显式目标的Makefile,makefile,Makefile,如果我有一组文件*.foo,使用foo2bar some.foo“编译器”将其“编译”为一组*.bar,我可以编写如下生成文件: %.bar: %.foo <tab>foo2bar $< %.bar:%.foo 食物棒$< 但是,如果还没有*.bar,我不能只键入像makeall这样的内容,然后生成所有的*.bar 我如何告诉make创建所有与*.bar匹配的缺失目标?前提是您使用的是GNU make(您似乎已经使用了%-符号): BSD make有%(至少上次

如果我有一组文件*.foo,使用
foo2bar some.foo
“编译器”将其“编译”为一组*.bar,我可以编写如下生成文件:

  %.bar: %.foo
    <tab>foo2bar $<
%.bar:%.foo
食物棒$<
但是,如果还没有*.bar,我不能只键入像
makeall
这样的内容,然后生成所有的*.bar


我如何告诉make创建所有与*.bar匹配的缺失目标?

前提是您使用的是GNU make(您似乎已经使用了%-符号):

BSD make有%(至少上次我检查FreeBSD时有)。
all: $(patsubst %.foo,%.bar,$(wildcard *.foo))