GNU制作“gsrc /%。v:%.rdl”文件生成

时间:2013-07-03 22:33:35

标签: makefile gnu-make

您好我正在使用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放到同一个目录中?

-Thanks

1 个答案:

答案 0 :(得分: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