【发布时间】:2011-02-27 17:49:37
【问题描述】:
我正在尝试执行以下操作。有一个程序,称为foo-bin,它接收一个输入文件并生成两个输出文件。一个愚蠢的 Makefile 规则是:
file-a.out file-b.out: input.in
foo-bin input.in file-a.out file-b.out
但是,这并不能以任何方式告诉make 两个目标将同时生成。串行运行make 时这很好,但如果尝试make -j16 或同样疯狂的事情可能会导致麻烦。
问题是是否有办法为这种情况编写适当的 Makefile 规则? 显然,它会生成一个 DAG,但不知何故 GNU make 手册并没有具体说明这种情况如何被处理。
运行相同的代码两次并且只生成一个结果是不可能的,因为计算需要时间(想想:小时)。只输出一个文件也相当困难,因为它经常被用作 GNUPLOT 的输入,它不知道如何只处理数据文件的一小部分。
【问题讨论】:
-
Automake 有这方面的文档:gnu.org/software/automake/manual/html_node/…
标签: makefile