2012-01-27 69 views
2

我有一个makefile来建立很多依赖于对方的库。我建立它们的方式总是一样的。Makefile:通配符和不同的依赖关系

这可能是这样的:

#Makefile 

    all: commonprefix_lib1 commonprefix_lib2 commonprefix_lib3 

    commonprefix_lib1 : commonprefix_lib2 commonprefix_lib3 
     cd [email protected] && autoreconf -if && ./configure && make && sudo make install 

    commonprefix_lib2 : commonprefix_lib3 
     cd [email protected] && autoreconf -if && ./configure && make && sudo make install 

    commonprefix_lib3 : 
     cd [email protected] && autoreconf -if && ./configure && make && sudo make install 

这是可以使用通配符规则,所以我不重复CD /配置/让东西knowning,他们都有不同的依赖呢?

#Makefile 

    commonprefix_% : ??? 
     cd [email protected] && autoreconf -if && ./configure && make && sudo make install 
+0

%样式的语法特定于GNU使。另外,你应该让它可以添加参数到./configure。也许你真正想要的是AC_CONFIG_SUBDIR。 – 2012-01-27 10:29:32

+0

Hello Jorgensen,我想用GNU make做这个。 – 2012-01-27 11:15:04

回答

3

我想你可以从模式规则另行注明相关性:

#Makefile 

all: commonprefix_lib1 commonprefix_lib2 commonprefix_lib3 

commonprefix_lib1 : commonprefix_lib2 commonprefix_lib3 
commonprefix_lib2 : commonprefix_lib3 

commonprefix_% : 
    cd [email protected] && autoreconf -if && ./configure && make && sudo make install