Estou tentando fazer o seguinte. Existe um programa, chame-o foo-bin
, que recebe um único arquivo de entrada e gera dois arquivos de saída. Uma regra Makefile burra para isso seria:
file-a.out file-b.out: input.in
foo-bin input.in file-a.out file-b.out
No entanto, isso não indica de make
forma alguma que ambos os alvos serão gerados simultaneamente. Isso é bom quando executado make
em série, mas provavelmente causará problemas se alguém tentar make -j16
ou algo igualmente maluco.
A questão é se existe uma maneira de escrever uma regra Makefile adequada para tal caso. Claramente, isso geraria um DAG, mas de alguma forma o manual do GNU make não especifica como este caso poderia ser tratado.
Executar o mesmo código duas vezes e gerar apenas um resultado está fora de questão, porque o cálculo leva tempo (pense: horas). A saída de apenas um arquivo também seria bastante difícil, porque freqüentemente é usado como uma entrada para o GNUPLOT, que não sabe como lidar com apenas uma fração de um arquivo de dados.