带有可变目标的makefile

时间:2014-05-25 17:18:54

标签: c makefile

我正在尝试定义一个Makefile,它将文件名(例如.foo)作为命令行中的变量,然后编译&使用gcc链接。 因此,如果我输入 make foo ,它将编译 foo.c ,将 foo.o 链接到所需的库,并清理.o文件。到目前为止,这是我的代码,有没有人对我出错的地方有任何建议?

@: $@.o
        @echo target is $@
        gcc $@.o -v -lmar -lbar -DDEBUG -o $@
        rm $@.o

$@.o: $@.c
        gcc -c -v $@.c

1 个答案:

答案 0 :(得分:2)

Make已将参数用作目标列表。并且它已经implicit rules可以做你想要的。你应该能够像你的makefile一样逃脱:

LDLIBS=-lmar -lbar
LDFLAGS=-v
CFLAGS=-v