Le premier problème c'est surtout que tu utilises make avec une logique complexe... avec pour seule bonne raison (je suppose) que tu as déjà un Makefile qui construit ton projet et fait un peu de tout et n'importe quoi à côté.
Alors oui bien-sûr c'est possible de faire cela... mais est-ce souhaitable?
À choisir, écrire des scripts shell c'est quand-même plus facile que d'écrire des Makefiles, donc je ne peux que te recommander de mettre ton programme qui lance tes tests dans un script shell, quitte à appeler ce script dans ton makefile si tu aimes bien taper make test par exemple où juste que tu ne veux pas changer ton habitude.
L'intérêt de mettre tes commandes dans un script shell est que ça te dispense de savoir beaucoup des petits détails du fonctionnement de make et que tu peux écrire plus facilement ta procédure de test, par exemple en utilisant des fonctions, etc.
Make te permet d'écrire assez facilement des programmes dont l'état est encodé dans le système de fichiers, en te donnant presque gratuitement le parallélisme d'éxécution et la possibilité de récupérer les erreurs (je recompile juste ce qu'il faut après avoir corrigé). Je pense que bien garder cela en tête permet de savoir si on a intérêt à déléguer à un shell script, la question clé étant: est-ce que l'état de ma tâche est défini par le système de fichier?
# Avoir une logique complexe dans un makefile...
Posté par Michaël (site web personnel) . En réponse au message Erreur de segmentation passe inaperçu dans une recette GNU Make. Évalué à 3.
Le premier problème c'est surtout que tu utilises
makeavec une logique complexe... avec pour seule bonne raison (je suppose) que tu as déjà un Makefile qui construit ton projet et fait un peu de tout et n'importe quoi à côté.Alors oui bien-sûr c'est possible de faire cela... mais est-ce souhaitable?
À choisir, écrire des scripts shell c'est quand-même plus facile que d'écrire des Makefiles, donc je ne peux que te recommander de mettre ton programme qui lance tes tests dans un script shell, quitte à appeler ce script dans ton makefile si tu aimes bien taper
make testpar exemple où juste que tu ne veux pas changer ton habitude.L'intérêt de mettre tes commandes dans un script shell est que ça te dispense de savoir beaucoup des petits détails du fonctionnement de make et que tu peux écrire plus facilement ta procédure de test, par exemple en utilisant des fonctions, etc.
Make te permet d'écrire assez facilement des programmes dont l'état est encodé dans le système de fichiers, en te donnant presque gratuitement le parallélisme d'éxécution et la possibilité de récupérer les erreurs (je recompile juste ce qu'il faut après avoir corrigé). Je pense que bien garder cela en tête permet de savoir si on a intérêt à déléguer à un shell script, la question clé étant: est-ce que l'état de ma tâche est défini par le système de fichier?