为具有多重依赖性的单个目标编写Makefile规则



例如,如果我要用硬件描述语言编译一堆文件,我可以用以下方式编写Makefile

    analyze: a.v b.v c.v top.v
        vcs $(OPTIONS) a.v
        vcs $(OPTIONS) b.v
        vcs $(OPTIONS) c.v
        vcs $(OPTIONS) top.v

进行分析,将编译其依赖关系中的所有文件&生成最终可执行文件。我如何编写一个"SINGLE Makefile规则",它将编译它的所有依赖项并构建一个可执行文件-用一个类似的规则模仿上面的内容

    analyze: %.v
        vcs $(OPTIONS) %.v

以上内容适用于单个文件依赖项。但是,如果我有多个文件依赖关系,我将如何处理多个文件?我可以对所有依赖项使用"for循环"吗。我一直在寻找Makefile选项来访问在for循环中使用的"依赖文件",但找不到。

为每个要分析的文件使用一个伪戳目标:

analyze : a.analyzed-stamp b.analyzed-stamp c.analyzed-stamp top.analyzed-stamp
%.analyzed-stamp : %.v
    vcs $(OPTIONS) $<
    touch $@

最新更新