Solaris Imakefile复制文件规则

Solaris Imakefile Copy file rule

本文关键字:规则 文件 复制 Imakefile Solaris      更新时间:2023-10-16

我正在尝试将一个应用程序从windows移植到solaris,我发现Imakefile没有很好地定义,或者至少没有像预期的那样工作。

我定义了一些规则来复制一些protobuf文件:

file1.pb.cc:
    cp -p $(PROTODIR)/file1.pb.cc .
file2.pb.cc:
    cp -p $(PROTODIR)/file2.pb.cc .
file3.pb.cc:
    cp -p $(PROTODIR)/file3.pb.cc .

在windows上所有的文件都被复制。

在solaris上,只复制第一个,然后什么都不做。

如果我重新运行make,我得到消息'file1.pb。Cc '是最新的(这很好,因为它在那里),执行完成。

那么,为什么不复制其他文件呢?

谢谢,Bogdan

您需要在文件顶部添加一条规则:

default: file1.pb.cc file2.pb.cc file3.pb.cc

规则的名称并不重要,重要的是它是第一个。原因是make默认情况下只执行文件中的第一条规则,如果没有给定参数。

这个default规则然后取决于你想要复制的文件,make将检查它们的规则

正如您从文档中看到的,我认为您不能省略副本的目的地。