2012-03-05 33 views

回答

4

我会用wildcard function的配方外,像这样:

DIRS := dir1 dir2 dir3 dir4 ... 
OBJS := $(foreach dir,$(DIRS),$(wildcard $(dir)/*.o)) 

all : $(OBJS) 
    @echo $^ 
6

我会做这种方式:

DIRS = dir1 dir2 dir3 dir4 ... 
OBJS = $(wildcard $(DIRS:=/*.o)) 

GENERATE_OBJECT_FILES: 
    @echo $(OBJS);               
+0

天哪,并认为我不得不去寻找“对'循环找到这个答案......非常感谢你,我开始质疑我的理智。一个侧面的问题,有没有办法在for循环中设置一个变量? – ATaylor 2013-11-05 12:40:33

+0

@Taylor:是的。你可以再详细一点吗?一个像马修Hoggan's的'for'循环,或者一个Make'foreach'看起来像Eldar Abusalimov的?你想对变量做什么? – Beta 2013-11-05 15:09:24

+0

通常我想使用常规的for循环,它扩展了一个变量。像$ for $(LIST);做Var + = $$ i; “它一直拒绝我,告诉我”Var“不存在。 – ATaylor 2013-11-05 15:15:41

相关问题