Sto tentando di fare quanto segue. Esiste un programma, chiamatelo foo-bin
, che accetta un singolo file di input e genera due file di output. Una stupida regola di Makefile per questo sarebbe:
file-a.out file-b.out: input.in
foo-bin input.in file-a.out file-b.out
Tuttavia, questo non dice make
in alcun modo che entrambi i target verranno generati contemporaneamente. Va bene quando si esegue make
in serie, ma probabilmente causerà problemi se si prova make -j16
o qualcosa di altrettanto pazzo.
La domanda è se esiste un modo per scrivere una regola Makefile adeguata per un caso del genere? Chiaramente, genererebbe un DAG, ma in qualche modo il manuale di GNU make non specifica come potrebbe essere gestito questo caso.
Eseguire lo stesso codice due volte e generare un solo risultato è fuori questione, perché il calcolo richiede tempo (pensa: ore). Anche l'output di un solo file sarebbe piuttosto difficile, perché spesso viene utilizzato come input per GNUPLOT che non sa come gestire solo una frazione di un file di dati.