Makefile:通配符和不同的依赖项

时间:2012-01-27 10:07:58

标签: makefile

我有一个makefile,用于构建许多相互依赖的库。我构建它们的方式总是一样的。

可能就像:

    #Makefile

    all: commonprefix_lib1 commonprefix_lib2 commonprefix_lib3

    commonprefix_lib1 : commonprefix_lib2 commonprefix_lib3
        cd $@ && autoreconf -if && ./configure && make && sudo make install

    commonprefix_lib2 : commonprefix_lib3
        cd $@ && autoreconf -if && ./configure && make && sudo make install

    commonprefix_lib3 :
        cd $@ && autoreconf -if && ./configure && make && sudo make install

这是否可以使用通配符规则,以便我不重复cd / configure / make,知道它们都有不同的依赖关系?

    #Makefile

    commonprefix_% : ???
        cd $@ && autoreconf -if && ./configure && make && sudo make install

1 个答案:

答案 0 :(得分:3)

我认为您可以将依赖项与模式规则分开说明:

#Makefile

all: commonprefix_lib1 commonprefix_lib2 commonprefix_lib3

commonprefix_lib1 : commonprefix_lib2 commonprefix_lib3
commonprefix_lib2 : commonprefix_lib3

commonprefix_% :
    cd $@ && autoreconf -if && ./configure && make && sudo make install