Makefile中的目标替换

时间:2012-01-23 16:40:14

标签: makefile gnu-make

在典型的回归中,有一个类别是" basic"和一个测试用例" abc.c"。进行测试" abc"在类别"基本"中,用户必须键入:

    make basic_abc

然后命令应该是:

    basic_abc: abc.c
        gcc -g -o abc abc.c

我怎样才能写出一条规则,那就是CHOP" basic _"在我的$ @。这样我就可以将规则用于所有测试。 在伪语言中,如何通过模式替换获得上述规则

    basic_abc: $(patsubst .*_, " ", $@).c
        gcc -g -o  $(patsubst .*_, " ", $@)    $(patsubst .*_, " ", $@).c

1 个答案:

答案 0 :(得分:1)

你的意思是这样吗?

.PHONY: basic_%
basic_%: %.c
        gcc -g -o $* $<

Make已经知道如何编译.c文件了。从你的问题来看,basic_x依赖于编译的x似乎更有意义,并在配方中的一堆测试用例中运行它,但也许我误解了你的设置。