制作foreach并指定要链接的库(-l)

时间:2014-11-03 16:59:24

标签: makefile

在Makefile中,我有一个我必须链接的库列表:

LIBS=var.a foo.a

我想运行以下命令(简化):

$(CC) main.c -lvar.a -lfoo.a

现在我用:

$(CC) main.c $(foreach lib,$(LIBS),-l$(lib))

它有效,但它看起来有点冗长/繁琐。有没有更好的方法呢?另一种方法?

谢谢!

1 个答案:

答案 0 :(得分:2)

一种可能的改进是使用addprefix功能。

$(addprefix -l,$(LIBS)

也可以使用patsubst

$(patsubst %,-l%,$(LIBS))