2013-07-05 19 views
0

我有一个目录结构,如:呼叫使所有子目录

home 
|-- folder1 
    |-- Makefile 
    |-- code1.cpp 
|-- folder2 
    |-- Makefile 
    |-- code2.cpp 
|-- many more folders with Makefile and code inside 
. 
. 

我想打电话让所有的文件夹。我应该怎么做呢?谢谢!

+3

'找到/家用型d -exec使... {} \;'? – fedorqui

+1

@ fedorqui的建议是完美的,但你可能需要一个顶级的'Makefile'来代替(特别是如果它是一个相关的项目)。 – devnull

+0

对不起,我真的不明白你。你能详细说明一下吗? –

回答

3

Eldar Abusalimov's answer

SUBDIRS := $(wildcard */.) 

.PHONY : all $(SUBDIRS) 
all : $(SUBDIRS) 

$(SUBDIRS) : 
    $(MAKE) -C [email protected] 
+0

这也保留了你可能拥有的任何并行性(这是'-jn'友好的)。 ['*/Makefile'可能是一个更好的通配符] – bobbogo