0
我的Makefile的一部分:Makefile的静态模式规则
CFLAGS = -I ../headers -Wall
EXECUTABLES = testPattern testPatterns
$(EXECUTABLES): %Pattern: %.c pattern.o
g++ $(CFLAGS) [email protected] pattern.o -o [email protected]
我不包括对象的编译,因为它是不相关的。
我用这段代码的问题是,该模式只匹配第一个可执行文件,因为它以'Pattern'结尾,第二个可执行文件在结尾处有一个额外的's',终止了该脚本。有什么办法可以让它工作而不需要改变第二个可执行文件的名字?
感谢
你好,对不起,我搞砸了,但已经纠正了。文件名是在前提条件下。我需要一个模式是因为我有几个可执行文件,我有完全不同的名称和模式,并希望将它们全部存储在一个变量中。我不想要任何省略或错误的依赖关系。我会为他们制定新的规则,但我希望他们都在一个变量。 – Joe
你的例子不是很好,因为前缀'test'是相同的。如果你使用了'EXECUTABLES = fooPattern barPatterns',这将是一个更好的例子。不可能写出一个匹配多个非连续非常数部分的模式。就你上面的例子来说,你不能编写一个与'Pattern'前面的前缀匹配的模式和'Pattern'后面的后缀。你每个单词只能有一个'%',所以你只能匹配一边或另一边。 – MadScientist
好的!感谢您的快速和明确的解释。 – Joe