我正在尝试执行以下操作。有一个名为的程序,它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的输入,GNUPLOT不知道如何仅处理数据文件的一小部分。