J'ai une liste d'objets dans une variable Makefile appelée OBJECTS qui est trop grande pour le tampon de commande. Par conséquent, je suis en utilisant la méthode suivante pour créer un fichier répertoriant les objets (pour passer à ar):Créer un fichier à partir d'une grande variable Makefile
objects.lst:
$(foreach OBJ,$(OBJECTS),$(shell echo "$(OBJ)">>[email protected]))
Bien que cela fonctionne, il est extrêmement lent (sur Cygwin au moins) et je n'aime pas compter sur commandes shell et redirection.
Additionnellement foreach n'est pas prévu à cet effet - il est évalué avant toute commande, ce qui signifie que je ne peux pas par exemple rm -f objects.lst
avant de l'ajouter.
Y a-t-il un meilleur moyen? Je ne veux pas utiliser l'archivage incrémental car cela cause des problèmes avec plusieurs tâches. La seule chose que je peux penser est d'analyser le Makefile avec un script séparé pour lire la liste d'objets ou pour stocker la liste d'objets dans un fichier séparé. Les deux solutions ont leurs propres problèmes cependant.
a frappé encore des erreurs avec cette marque : execvp:/bin/sh: Liste d'arguments trop longue make: *** [objects.lst] Erreur 127 – sholte