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

Makefile:通配符和不同的依赖项,makefile,Makefile,我有一个makefile用于构建许多相互依赖的库。我建造它们的方式总是一样的 可能是这样的: #Makefile all: commonprefix_lib1 commonprefix_lib2 commonprefix_lib3 commonprefix_lib1 : commonprefix_lib2 commonprefix_lib3 cd $@ && autoreconf -if && ./configure &

我有一个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

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

#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

%-样式语法特定于GNU make。此外,还应使其能够向./configure添加参数。也许你真正想要的是AC_CONFIG_SUBDIR。你好,Jorgensen,我想用GNU make来实现这一点。