在我的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
我该如何完成我所需要的?
答案 0 :(得分:3)
使用伪变量制作不是很好,但是您可以使用the foreach
function:
BINS = 1 2 3 4
OBJS := $(foreach bin,$(BINS),$(bin)/$(bin).o)