2010-04-20 38 views
1

最初,当我提出这个问题时,我把问题归结为通配符,这是一个问题,但是一个更大的问题显然正在逼近。如果我明白错误的话,那么GNU make就没有生成子进程,所以必须转换到Boor的一些衍生产品。我可能会理解错误,但我试图让这个问题更容易理解。如何通过调用new make来运行它的内部部件?

的Makefile:Makefile文件试图执行自身的部分很多次,我的意思是由子处理

all: 
     make clean 
     make $$(.??*) 
#I want to replace below-like-things with a wildcard above 
#  make .lambda 
#  make .lambda_t 
# 
# KEY: It should run NEW make-processes! how? 
clean: 
     -rm .??* 
.lambda: 
#do something 
.lambda_t: 
+0

那么,什么是对的原因每次都从不同的制作过程构建文件? – Macmade 2010-04-20 14:30:21

+0

@Macmade:对不起,但我不确定你的意思是什么? Boor的支持并行处理,这里的推导:http://www.freebsd.org/doc/en/books/porters-handbook/building.html。我不确定我在这个问题中所做的事是否得到了GNU make的支持,我使用的是我提出这个问题的时间。对不起还不能回答,但尝试:) – hhh 2010-10-20 14:10:46

回答

1

你是做了错误的方式的东西。
你不需要像这样调用make。只需声明其他目标,并使用目标依赖关系。
注意,您可以使用生成 '的foreach目录' 功能获取文件的匹配模式:

_FILES_HIDDEN = $(的foreach目录,/,$(通配符*)。)

相关问题