http://www.cprogramming.com/tutorial/makefiles_continued.html解释隐含目标:
有一些行为几乎无处不在:例如,您可能有一些.c文件的集合,您可能希望执行相同的命令。理想情况下,文件的名称将是目标;使用隐式目标“.c”,您可以为与.c文件名称相对应的任何目标指定执行的命令(减去.c扩展名)。
但是,当我尝试它时,隐式目标就会被忽略。我的测试makefile如下:
Default: Foo.bar
echo "In default."
.bar:
echo "In .bar."
make: *** No rule to make target `Foo.bar', needed by `Default'. Stop.
我错过了什么?
答案 0 :(得分:3)
尝试:
default: foo.bar
echo "In default."
%.bar:
echo "In .bar."
您可能会询问旧式后缀规则 - 例如此规则:
.c.o:
cc -c $<
告诉make如何从.c源构建.o文件。带有'%'的表单被称为模式规则,更“现代”。我建议你阅读GNU Make manual,这些内容非常丰富,易于阅读。