J'essaye de faire ce qui suit. Il existe un programme, appelez-le foo-bin
, qui prend un seul fichier d'entrée et génère deux fichiers de sortie. Une règle Makefile stupide pour cela serait:
file-a.out file-b.out: input.in
foo-bin input.in file-a.out file-b.out
Cependant, cela n'indique make
en aucun cas que les deux cibles seront générées simultanément. C'est bien lors de l'exécution make
en série, mais cela causera probablement des problèmes si l'on essaie make -j16
ou quelque chose d'aussi fou.
La question est de savoir s'il existe un moyen d'écrire une règle Makefile appropriée pour un tel cas? Clairement, cela générerait un DAG, mais d'une manière ou d'une autre, le manuel de fabrication de GNU ne spécifie pas comment ce cas pourrait être traité.
Exécuter le même code deux fois et générer un seul résultat est hors de question, car le calcul prend du temps (pensez: heures). La sortie d'un seul fichier serait également assez difficile, car il est fréquemment utilisé comme entrée dans GNUPLOT qui ne sait pas gérer seulement une fraction d'un fichier de données.