Estoy intentando hacer lo siguiente. Hay un programa, llámelo foo-bin
, que toma un solo archivo de entrada y genera dos archivos de salida. Una regla tonta de Makefile para esto sería:
file-a.out file-b.out: input.in
foo-bin input.in file-a.out file-b.out
Sin embargo, esto no indica make
de ninguna manera que ambos objetivos se generarán simultáneamente. Eso está bien cuando se ejecuta make
en serie, pero es probable que cause problemas si uno lo intenta make -j16
o algo igualmente loco.
La pregunta es si existe una forma de escribir una regla Makefile adecuada para tal caso. Claramente, generaría un DAG, pero de alguna manera el manual de GNU make no especifica cómo se podría manejar este caso.
Ejecutar el mismo código dos veces y generar solo un resultado está fuera de discusión, porque el cálculo lleva tiempo (piense: horas). La salida de un solo archivo también sería bastante difícil, porque con frecuencia se usa como entrada para GNUPLOT que no sabe cómo manejar solo una fracción de un archivo de datos.