0

您好,我目前正在使用 GNU Make,我的目标之一如图所示。

    gsrc/%.v: %.rdl
          run tool on the .rdl

该工具会生成一个 gsrc/example.v、example.vh 和一个 example.xml 文件(通常在我当前的工作目录中)。example.v 文件被移动到我假设的目标定义之外的 gsrc 目录中,并且我试图找出将生成的所有文件移动到 gsrc 目录中的方法。

我猜首先,gsrc/%.v 是否会导致生成的文件被移动到 gsrc 目录,如果是这样,我怎样才能使用 make 将我的 .vh 和 .xml 放到同一个目录中?

-谢谢

4

1 回答 1

2

Make永远不会将任何文件移动到任何地方。如果您编写如下规则:

gsrc/%.v : %.rdl
        <run some command>

你告诉make,当它想要构建一个名为gsrc/example.v它的文件时,它可以执行<run some command>并且该命令将创建和/或更新该文件。该配方的内容必须完成所有文件的更新和移动。Make不会为你做这件事。

所以,如果你希望你的输出进入gsrc,但你运行的命令没有把它放在那里,那么你可以在你的配方中添加更多的东西来移动它:

gsrc/%.v gsrc/%.vh gsrc/%.xml: %.rdl
        <run some command>
        mv $*.vh $*.xml gsrc
于 2013-07-03T22:55:59.070 回答