在Makefile中使用patsubst向项目添加路径

时间:2019-02-18 19:33:59

标签: c makefile

在我的Makefile中,我的行为是这样的:

BINS = 1 2 3 4

然后

OBJS := $(patsubst %,%.o,$(BINS))

此打印:1.o 2.o 3.o 4.o

但是我希望它看起来像:

1/1.o 2/2.o 3/3.o 4/4.o

当我这样做时:

OBJS := $(patsubst %,%/%.o,$(BINS))

我得到:

1/%.o 2/%.o 3/%.o 4/%.o

我该如何完成我所需要的?

1 个答案:

答案 0 :(得分:3)

使用伪变量制作不是很好,但是您可以使用the foreach function

BINS = 1 2 3 4
OBJS := $(foreach bin,$(BINS),$(bin)/$(bin).o)