生成文件: wildcard and different dependencies

标签 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

最佳答案

我认为您可以将依赖关系与模式规则分开声明:

#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

关于生成文件: wildcard and different dependencies,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9031661/

相关文章:

gcc - 在 gcc powerpc 编译中使用 -meabi 选项

makefile - 如何搜索 Makefile 字符串中的整个单词?

Android Oreo 8.0 native C++ 崩溃 : invalid pthread_t passed to libc

Android源码编译错误

android - 在AndroidKernel.mk中, "$(KERNEL_OUT):"是什么意思?

linux - 我怎样才能用这个制作文件

具有预先未知的依赖关系图的 Makefile

c++ - 使用 Autotools 生成 .so 文件

makefile - GNU Makefile,检测架构

makefile - makefile 条件中的多个 if 语句