Solaris Imakefile复制文件规则
Solaris Imakefile Copy file rule
我正在尝试将一个应用程序从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
将检查它们的规则
正如您从文档中看到的,我认为您不能省略副本的目的地。
相关文章:
- 生成文件不对文件使用隐式规则
- 制作文件:没有规则来制定目标:如何设置正确的规则?
- 生成文件中隐式规则中的 -c 标志出错
- C++ 如何将两个 makefile 对象目标规则(位于另一个文件夹中)合并到一个目标/规则中?
- 生成文件匹配规则和配方中的模式
- 如何在 c c ++ 混合生成文件中为 c 对象添加附加规则?
- 无法通过 bazel 的规则成功包含外部头文件cc_library
- 在不应该应用生成文件规则时应用
- 生成文件:没有规则的依赖项不会使父项无效
- 生成文件:子目录的模式规则
- Visual Studio 2017 加载规则集文件时出错
- 在makefile中更改构建规则以构建多种文件类型
- 源外生成与目标文件的规则不匹配
- 生成:没有创建头文件的规则
- 生成文件失败,错误没有规则来设定目标
- 将 Icon 添加到可执行文件 (Eclipse CDT Luna) 时出现问题:make: *** 没有规则来制作目标 'resources.o'
- GNU 生成文件规则和依赖关系
- C++:同名的文件范围常量违反了一个定义规则
- 错误:"混合的隐式和静态模式规则"在我的生成文件中
- 一般生成文件显示没有规则来生成目标错误